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
feat(pubsub): publish-side changes for ordering keys #9929
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In general the design looks good and is understandable IMO. I did not try using the new feature, focused only on the code for now.
There are quite a few suggestions/comments, but the PR itself is also quite sizable. Some of them are minor/non-essential, but it's my last review cycle of the year, thus a bit biased towards verbosity. :)
On top of everything, this is a non-trivial feature that would highly benefit from at least a basic system test or two (if the ordering keys feature is not yet enabled on the test project, we must enable them first).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the review. A system test is forthcoming, after the subscriber side changes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Generally looks good!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The updates look good, thanks!
There are still a few comments from the original review that have not been addressed yet (most of those that were hidden by default). Please just check them out, or mark as resolved if you think they aren't relevant (enough).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Apart for a minor docstring thingy, it now looks good IMO.
Disclaimer - did not run the code, we need the subscriber side for ordering keys as well (the same reason why there are no system tests yet).
…_publish(). Do throw if it is called without enabling message ordering.
What's the status of this? I see that error handling was changed in one particular case, and that a deadlock was fixed. @pradn Would you mind elaborating a bit on the latter? Looking at the state machine and the commit message, it appears to be something with publishing in a STOPPED state, and a new state FINISHED had to be introduced? Or why the deadlock could occur? Thanks! |
As per offline discussion, we want to wait for the subscriber side of this, as well as for a fix for a performance regression that was discovered. |
Superseded by googleapis/python-pubsub#26 |
Implements half of #9928