-
Notifications
You must be signed in to change notification settings - Fork 3.6k
[fix][meta] Fix ephemeral handling of ZK nodes and fix MockZooKeeper ephemeral and ZK stat handling #23988
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][meta] Fix ephemeral handling of ZK nodes and fix MockZooKeeper ephemeral and ZK stat handling #23988
Conversation
55f62ad
to
b4e04d5
Compare
- ensures that it has a separate session
b4e04d5
to
2c7b042
Compare
cherry-picking depends on #23686 |
…ephemeral and ZK stat handling (apache#23988) (cherry picked from commit df51972) (cherry picked from commit 67ae209)
…ephemeral and ZK stat handling (apache#23988) (cherry picked from commit df51972) (cherry picked from commit cd1e9db)
…ephemeral and ZK stat handling (apache#23988) (cherry picked from commit df51972) (cherry picked from commit 67ae209)
…ephemeral and ZK stat handling (apache#23988) (cherry picked from commit df51972)
Some Pulsar tests are using MockZooKeeper's pulsar/pulsar-metadata/src/main/java/org/apache/pulsar/metadata/impl/ZKSessionWatcher.java Lines 108 to 115 in 6e8c349
This will trigger a ConnectionLost session event. That's why a delay should be kept under 2000 ms. |
This is handled in #24171 |
Motivation
This PR is a follow-up to #23984 to fix ephemeral status handling in ZKMetadataStore and to improve the ZooKeeper testing infrastructure.
A key addition is enabling pulsar-metadata tests to run against MockZooKeeper through a proper MetadataStoreProvider implementation, ensuring MockZooKeeper correctly implements all features that Pulsar depends on.
Modifications
There are some unrelated NPE fixes and improvements for better exception messages. I faced those issues while debugging BrokerServiceTest and noticed those exceptions in the execution logs. Some of the exceptions were due to invalid tests, however the improvements will be useful also later.
Documentation
doc
doc-required
doc-not-needed
doc-complete