-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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][metadata] Don't execute Bookkeeper metadata callbacks on Zookeeper event thread #17620
[fix][metadata] Don't execute Bookkeeper metadata callbacks on Zookeeper event thread #17620
Conversation
...r-metadata/src/main/java/org/apache/pulsar/metadata/bookkeeper/PulsarRegistrationClient.java
Show resolved
Hide resolved
@lhotari Do you have the stack trace for the deadlock to attach here for context? |
@merlimat I only had a heap dump of the problem so I'm not sure about the deadlock details. The heap dump includes a thread dump, but without lock info. Here's the full thread dump: Here's a subset of threads related to metadata store and ZK. There might be several issues that are causing the issue. Here are the metadata & ZK related threads from the full thread dump:
|
I created a separate PR about handling session events in a separate thread: #17638 |
…per event thread (apache#17620) (cherry picked from commit 8e0ae80)
…per event thread (#17620)
…per event thread (apache#17620) (cherry picked from commit 8e0ae80) (cherry picked from commit f764350)
Motivation
In a Pulsar 2.10.x test environment we ran into an issue where there were 12.3 million ZK WatchEvents in the heap dump.
The ZK Event thread was blocked and the ZK session had also been expired.
Modifications
Run callbacks on a separate thread.
Additional context
PIP-45 changes #12770 and #13296
Documentation
doc-required
(Your PR needs to update docs and you will update later)
doc-not-needed
(Please explain why)
doc
(Your PR contains doc changes)
doc-complete
(Docs have been already added)