Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Edge case of order validation process in microservices-orders in at-least-once semantics #1265

Open
tall15421542-lab opened this issue Oct 19, 2024 · 0 comments

Comments

@tall15421542-lab
Copy link

Description
In microservices-orders example, we use numbers of validated OrderValidationResult in the topic to validate a order(ref) instead of the real rule matching.

It should be okay in the initial PR, which all producers and Kafka Streams are configured in exactly once semantics.
After this PR which add confluent interceptors, the processor now run in at least once semantic.

This should cause problem, for example, if we have

  • 2 PASS OrderValidationResult from OrderDetailsService
  • 1 PASS OrderValidationResult from inventoryService
  • 1 FAIL OrderValidationResult from FraudService

We would send two Order with the same order id to the Orders topic, one with FAILED state and the other with VALIDATED state.

Troubleshooting
It's hard to reproduce the duplicate event delivery in local environment. All the above description is all from my inference. I am new to Kafka and Kafka Streams, so please kindly correct me if I am wrong.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant