eolivelli opened a new pull request #8590:
URL: https://github.com/apache/pulsar/pull/8590


   
   ### Motivation
   Upgrade to latest stable ZK version 3.6.2. The new minor versions brings 
several advantages:
   
   Performance improvements (eg: tuning group commit on txn log)
   Prometheus based metrics (so that we can get rid of AspectJ hacky way to 
instrument ZK)
   New features like persistent recursive watches which would greatly simplify 
the logic to handle metadata cache invalidations.
   The possibility of rollback to previous version has also been validated.
   
   ### Modifications
   - Update ZooKeeper to 3.6.2
   - Updated Apache Curator to 5.1.0 (that supports ZK 3.6.x), Curator was 
implicitly imported by BookKeeper Storage Service
   
   ### Verifying this change
   
   - This change is already covered by existing tests, such as *(please 
describe tests)*.
   - Test manually a Pulsar service and Pulsar Standalone
   - Test ZooKeeper metrics
   
   ### Problems
   Unfortunately we cannot upgrade Curator because there is an error with 
"pulsar standalone":
   **Basically we have to upgrade ZooKeeper and Curator on BookKeeper before 
doing this change here**
   
   ```
   09:40:36.781 [main] ERROR 
org.apache.bookkeeper.common.component.AbstractLifecycleComponent - Failed to 
start Component: zk-storage-container-manager
   java.lang.NoSuchMethodError: 
'org.apache.curator.framework.listen.ListenerContainer 
org.apache.curator.framework.recipes.cache.NodeCache.getListenable()'
        at 
org.apache.bookkeeper.stream.storage.impl.cluster.ZkClusterMetadataStore.watchClusterAssignmentData(ZkClusterMetadataStore.java:169)
 ~[org.apache.bookkeeper-stream-storage-service-impl-4.12.0.jar:4.12.0]
        at 
org.apache.bookkeeper.stream.storage.impl.sc.ZkStorageContainerManager.doStart(ZkStorageContainerManager.java:105)
 ~[org.apache.bookkeeper-stream-storage-service-impl-4.12.0.jar:4.12.0]
        at 
org.apache.bookkeeper.common.component.AbstractLifecycleComponent.start(AbstractLifecycleComponent.java:83)
 [org.apache.bookkeeper-bookkeeper-common-4.12.0.jar:4.12.0]
        at 
org.apache.bookkeeper.stream.storage.impl.StorageContainerStoreImpl.doStart(StorageContainerStoreImpl.java:97)
 [org.apache.bookkeeper-stream-storage-service-impl-4.12.0.jar:4.12.0]
        at 
org.apache.bookkeeper.common.component.AbstractLifecycleComponent.start(AbstractLifecycleComponent.java:83)
 [org.apache.bookkeeper-bookkeeper-common-4.12.0.jar:4.12.0]
        at 
org.apache.bookkeeper.stream.server.service.StorageService.doStart(StorageService.java:47)
 [org.apache.bookkeeper-stream-storage-server-4.12.0.jar:4.12.0]
        at 
org.apache.bookkeeper.common.component.AbstractLifecycleComponent.start(AbstractLifecycleComponent.java:83)
 [org.apache.bookkeeper-bookkeeper-common-4.12.0.jar:4.12.0]
        at 
org.apache.bookkeeper.common.component.LifecycleComponentStack.lambda$start$4(LifecycleComponentStack.java:144)
 [org.apache.bookkeeper-bookkeeper-common-4.12.0.jar:4.12.0]
        at 
com.google.common.collect.ImmutableList.forEach(ImmutableList.java:405) 
[com.google.guava-guava-30.0-jre.jar:?]
        at 
org.apache.bookkeeper.common.component.LifecycleComponentStack.start(LifecycleComponentStack.java:144)
 [org.apache.bookkeeper-bookkeeper-common-4.12.0.jar:4.12.0]
        at 
org.apache.bookkeeper.stream.server.StreamStorageLifecycleComponent.doStart(StreamStorageLifecycleComponent.java:51)
 [org.apache.bookkeeper-stream-storage-server-4.12.0.jar:4.12.0]
        at 
org.apache.bookkeeper.common.component.AbstractLifecycleComponent.start(AbstractLifecycleComponent.java:83)
 [org.apache.bookkeeper-bookkeeper-common-4.12.0.jar:4.12.0]
        at 
org.apache.pulsar.zookeeper.LocalBookkeeperEnsemble.runStreamStorage(LocalBookkeeperEnsemble.java:350)
 [org.apache.pulsar-pulsar-zookeeper-utils-2.7.0-SNAPSHOT.jar:2.7.0-SNAPSHOT]
        at 
org.apache.pulsar.zookeeper.LocalBookkeeperEnsemble.startStandalone(LocalBookkeeperEnsemble.java:432)
 [org.apache.pulsar-pulsar-zookeeper-utils-2.7.0-SNAPSHOT.jar:2.7.0-SNAPSHOT]
        at org.apache.pulsar.PulsarStandalone.start(PulsarStandalone.java:258) 
[org.apache.pulsar-pulsar-broker-2.7.0-SNAPSHOT.jar:2.7.0-SNAPSHOT]
        at 
org.apache.pulsar.PulsarStandaloneStarter.main(PulsarStandaloneStarter.java:115)
 [org.apache.pulsar-pulsar-broker-2.7.0-SNAPSHOT.jar:2.7.0-SNAPSHOT]
   09:40:36.782 [main] ERROR 
org.apache.bookkeeper.common.component.AbstractLifecycleComponent - Failed to 
start Component: range-service
   java.lang.NoSuchMethodError: 
'org.apache.curator.framework.listen.ListenerContainer 
org.apache.curator.framework.recipes.cache.NodeCache.getListenable()'
        at 
org.apache.bookkeeper.stream.storage.impl.cluster.ZkClusterMetadataStore.watchClusterAssignmentData(ZkClusterMetadataStore.java:169)
 ~[org.apache.bookkeeper-stream-storage-service-impl-4.12.0.jar:4.12.0]
        at 
org.apache.bookkeeper.stream.storage.impl.sc.ZkStorageContainerManager.doStart(ZkStorageContainerManager.java:105)
 ~[org.apache.bookkeeper-stream-storage-service-impl-4.12.0.jar:4.12.0]
   ```
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to