-
Notifications
You must be signed in to change notification settings - Fork 214
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
fix: prevent event delivery race condition #232
Conversation
This is my proposal for fixing the behavior seen in #189 and #78, as it solves some of my concerns per #197 (comment). It builds upon both #193 and the discussion in #197 |
30dd67c
to
a9dd966
Compare
This comment has been minimized.
This comment has been minimized.
61d2db0
to
9fa69a4
Compare
This solution introduces a new client-specific identifier that can be used independent of the normal identifier. This approach permits the continued use of the global incrementing queue `id` so that we don't break existing requirements around the use of that `id` for reporting and metrics.
9fa69a4
to
e280567
Compare
This seems like multiple PRs, with improved error handling, new tests?, fixing a bug, and client UUID support mingled together. Being new to the code base it will take me some time to separate the concerns and their implementations. The improved error handling seems like a good thing. At first blush the client UUID support seems heavy, lots of new code and conditionals -- are there requests for this? |
That's...a running problem for me. I'll look at splitting this up into more digestible PRs. Sometimes I start working on stuff and the scope just keep creeping. Sorry about that!
It's specifically to maintain feature parity for our internal tooling we've built around bee-queue, yeah. |
Yeah, I'm familiar with the feature creep on a dev branch. Can you say more about "feature parity" details that need to be maintained. I can think of three:
And of course, for the bug (#78) to be fixed, all successfully saved jobs will emit exactly one of Are there other features or semantics that need to be preserved or have been requested? Of the three PRs approaching these matters:
Does this line of questioning and feature factoring make sense? |
This solution introduces a new client-specific identifier that can be used independent of the normal identifier. This approach permits the continued use of the global incrementing queue
id
so that we don't break existing requirements around the use of thatid
for reporting and metrics.Fixes #189, adds tests to fix #22.