-
Notifications
You must be signed in to change notification settings - Fork 51
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
ProcessorSubscription refactoring #60
Conversation
9fef5d5
to
9573c31
Compare
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!
Overall design seems very good to me.
It seems ProcessorSubscription has become much testable.
9573c31
to
9710975
Compare
@ocadaruma sorry for orphaning this for a long time. I've revised patch onto latest master and made some improvements. PTAL when you have time. |
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.
Almost LGTM.
Just a single minor comment.
@Value | ||
@Accessors(fluent = true) | ||
static | ||
class AssignmentConfig { |
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.
[nits] We don't break line between static class
I think
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.
hm.. how could this happen. will fix, thx.
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.
LGTM. Great work!!
As we talked in #53 ,
ProcessorSubscription
's getting bigger and complex by many functions being added to it.I've attempted to refactor it by mainly extracting things into a separate classes.
The work is still in progress and I'm still considering what would be the best design (especially for TaskConsumer).
Please give early feedback if any!
Some notable changes that might impacts decaton's behavior:
OffsetRegressionException
+ on-demand repair.contexts.maybeHandlePropertyReload()
now happens after updateHighWatermark, pause, resume