gaozhangmin opened a new pull request #11947:
URL: https://github.com/apache/pulsar/pull/11947


   ### Motivation
   
   NPE when `ZkBookieRackAffinityMapping`
   
   ```
   17:24:03.724 [main-SendThread(bigdata-pulsar-bookie004.ys:2181)] INFO  
org.apache.zookeeper.ClientCnxn - Session establishment complete on server 
bigdata-pulsar-bookie004.ys/10.89.146.53:2181, session id = 0x57ba9d6a8d800a8, 
negotiated timeout = 30000
   17:24:03.725 [main-EventThread] INFO  
org.apache.bookkeeper.zookeeper.ZooKeeperWatcherBase - ZooKeeper client is 
connected now.
   17:24:03.792 [main] ERROR 
org.apache.pulsar.zookeeper.ZkBookieRackAffinityMapping - Error creating 
zookeeper client
   java.lang.IllegalArgumentException: Path must not end with / character
           at 
org.apache.zookeeper.common.PathUtils.validatePath(PathUtils.java:55) 
~[org.apache.zookeeper-zookeeper-3.6.3.jar:3.6.3]
           at 
org.apache.zookeeper.client.ConnectStringParser.<init>(ConnectStringParser.java:61)
 ~[org.apache.zookeeper-zookeeper-3.6.3.jar:3.6.3]
           at 
org.apache.zookeeper.ZooKeeper.createDefaultHostProvider(ZooKeeper.java:1515) 
~[org.apache.zookeeper-zookeeper-3.6.3.jar:3.6.3]
           at org.apache.zookeeper.ZooKeeper.<init>(ZooKeeper.java:1108) 
~[org.apache.zookeeper-zookeeper-3.6.3.jar:3.6.3]
           at 
org.apache.bookkeeper.zookeeper.ZooKeeperClient.<init>(ZooKeeperClient.java:286)
 ~[org.apache.bookkeeper-bookkeeper-server-4.15.0-SNAPSHOT.jar:4.15.0-SNAPSHOT]
           at 
org.apache.bookkeeper.zookeeper.ZooKeeperClient$Builder.build(ZooKeeperClient.java:247)
 ~[org.apache.bookkeeper-bookkeeper-server-4.15.0-SNAPSHOT.jar:4.15.0-SNAPSHOT]
           at 
org.apache.pulsar.zookeeper.ZkBookieRackAffinityMapping.getAndSetZkCache(ZkBookieRackAffinityMapping.java:138)
 [org.apache.pulsar-pulsar-zookeeper-utils-2.8.0.jar:2.8.0]
           at 
org.apache.pulsar.zookeeper.ZkBookieRackAffinityMapping.setConf(ZkBookieRackAffinityMapping.java:75)
 [org.apache.pulsar-pulsar-zookeeper-utils-2.8.0.jar:2.8.0]
           at 
org.apache.bookkeeper.client.RackawareEnsemblePlacementPolicyImpl.initialize(RackawareEnsemblePlacementPolicyImpl.java:264)
 [org.apache.bookkeeper-bookkeeper-server-4.15.0-SNAPSHOT.jar:4.15.0-SNAPSHOT]
           at 
org.apache.bookkeeper.client.RackawareEnsemblePlacementPolicyImpl.initialize(RackawareEnsemblePlacementPolicyImpl.java:80)
 [org.apache.bookkeeper-bookkeeper-server-4.15.0-SNAPSHOT.jar:4.15.0-SNAPSHOT]
           at 
org.apache.bookkeeper.client.BookKeeper.initializeEnsemblePlacementPolicy(BookKeeper.java:582)
 [org.apache.bookkeeper-bookkeeper-server-4.15.0-SNAPSHOT.jar:4.15.0-SNAPSHOT]
           at 
org.apache.bookkeeper.client.BookKeeper.<init>(BookKeeper.java:506) 
[org.apache.bookkeeper-bookkeeper-server-4.15.0-SNAPSHOT.jar:4.15.0-SNAPSHOT]
           at 
org.apache.bookkeeper.client.BookKeeper$Builder.build(BookKeeper.java:307) 
[org.apache.bookkeeper-bookkeeper-server-4.15.0-SNAPSHOT.jar:4.15.0-SNAPSHOT]
           at 
org.apache.bookkeeper.replication.Auditor.createBookKeeperClient(Auditor.java:270)
 [org.apache.bookkeeper-bookkeeper-server-4.15.0-SNAPSHOT.jar:4.15.0-SNAPSHOT]
           at 
org.apache.bookkeeper.replication.AutoRecoveryMain.<init>(AutoRecoveryMain.java:92)
 [org.apache.bookkeeper-bookkeeper-server-4.15.0-SNAPSHOT.jar:4.15.0-SNAPSHOT]
           at 
org.apache.bookkeeper.server.service.AutoRecoveryService.<init>(AutoRecoveryService.java:41)
 [org.apache.bookkeeper-bookkeeper-server-4.15.0-SNAPSHOT.jar:4.15.0-SNAPSHOT]
           at 
org.apache.bookkeeper.server.Main.buildBookieServer(Main.java:320) 
[org.apache.bookkeeper-bookkeeper-server-4.15.0-SNAPSHOT.jar:4.15.0-SNAPSHOT]
           at org.apache.bookkeeper.server.Main.doMain(Main.java:226) 
[org.apache.bookkeeper-bookkeeper-server-4.15.0-SNAPSHOT.jar:4.15.0-SNAPSHOT]
           at org.apache.bookkeeper.server.Main.main(Main.java:208) 
[org.apache.bookkeeper-bookkeeper-server-4.15.0-SNAPSHOT.jar:4.15.0-SNAPSHOT]
   ```
   
   *Explain here the context, and why you're making that change. What is the 
problem you're trying to solve.*
   
   ### Modifications
   
   1、change some deprecated method
   2、add a judgment.
    
   
   ### Does this pull request potentially affect one of the following parts:
   
   *If `yes` was chosen, please highlight the changes*
   
     - Dependencies (does it add or upgrade a dependency): (yes / no) no
     - The public API: (yes / no) no
     - The schema: (yes / no / don't know) no
     - The default values of configurations: (yes / no) no 
     - The wire protocol: (yes / no)no 
     - The rest endpoints: (yes / no)no 
     - The admin cli options: (yes / no)no 
     - Anything that affects deployment: (yes / no / don't know)no
   
   ### Documentation
   
   no need doc.
   
   


-- 
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.

To unsubscribe, e-mail: [email protected]

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


Reply via email to