-
Notifications
You must be signed in to change notification settings - Fork 3.5k
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
PIP-45: Added session events to metadata store #9273
Conversation
833478b
to
02bec9e
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.
LGTM
Just left one question
try { | ||
l.accept(event); | ||
} catch (Throwable t) { | ||
log.warn("Error in processing session event", t); |
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.
InterruptedException?
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 Consumer
interface doesn't allow to throw InterruptedException
and we cannot catch that directly since it's a checked exception. If the listener code does any blocking operation, it would be its responsibility to handle the InterruptedException
.
/pulsarbot run-failure-checks |
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
/pulsarbot run-failure-checks |
* PIP-45: Added session events to metadata store * Added missing license header * Fixed session timeout in MockZookeeper * Increased test timeouts * Increase session timeout in ZKSessionTest * Fixed merge issue
Motivation
Added mechanism to send notification on the metadata store session status. This will be used to trigger lock revalidation after a session is lost and also to do best effort approach in avoiding attempting non-essential metadata operations while the client is known not to be connected.