Github user asdf2014 commented on a diff in the pull request:

    https://github.com/apache/zookeeper/pull/303#discussion_r181613274
  
    --- Diff: src/java/main/org/apache/zookeeper/client/StaticHostProvider.java 
---
    @@ -71,7 +71,7 @@
          *             if serverAddresses is empty or resolves to an empty list
          */
         public StaticHostProvider(Collection<InetSocketAddress> 
serverAddresses) {
    -       sourceOfRandomness = new Random(System.currentTimeMillis() ^ 
this.hashCode());
    +       sourceOfRandomness = new Random(System.nanoTime() ^ 
this.hashCode());
    --- End diff --
    
    Hi, @maoling. Sorry for my belated comment. Indeed, i hadn't been 
considered this case that different clients will own different `hashcode`s. 
Because, in my sistuation, our Zookeeper clusters only give service to some 
apointed BigData components, e.g., [HBase](https://yuzhouwan.com/posts/45888/), 
[Druid.io](https://yuzhouwan.com/posts/5845/), 
[Hadoop](https://yuzhouwan.com/posts/60504/), 
[Kafka](https://yuzhouwan.com/posts/26002/) etc. Inside these components will 
have settled clients, so them can not offer too many different `hashcode`s.


---

Reply via email to