Details
-
Bug
-
Status: Open
-
Minor
-
Resolution: Unresolved
-
1.9
-
None
-
None
Description
Steps:
1. Start Cluster X on machine A and B (under zookeeper path /xxx )
2. Look at what is registered in zookeeper under /xxx
/xxx/88x8x8 HOST_A:47500
/xxx/88x8x8 127.0.0.1:47500
/xxx/54d32d HOST_B:47500
/xxx/54d32d 127.0.0.1:47500
3 . Start Cluster Y on machine A and B (under zookeeper path /yyy )
4. Look at what is registered in zookeeper under /yyy
/yyy/34564rt HOST_A:47501
/yyy/34564rt 127.0.0.1:47501
/yyy/sdf3232 HOST_B:47501
/yyy/sdf3232 127.0.0.1:47501
Look correct. Shutdown and try to execute steps 1&3 simultaneously, several times, you could end up with situation like this:
/xxx/88x8x8 HOST_A:47500
/xxx/88x8x8 127.0.0.1:47500
/xxx/54d32d HOST_B:47501
/xxx/54d32d 127.0.0.1:47501
/yyy/34564rt HOST_A:47501
/yyy/34564rt 127.0.0.1:47501
/yyy/sdf3232 HOST_B:47500
/yyy/sdf3232 127.0.0.1:47500
So now node could incorrect connect to different cluster. Possible solution to filter out 127.0.0.1 and 0.0.0.0 during start up in registerAddresses of TcpDiscoveryZookeeperIpFinder