----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/38572/ -----------------------------------------------------------
(Updated Sept. 25, 2015, 11:25 p.m.) Review request for geode and Darrel Schneider. Changes ------- Why the "existingSystemConnected = true;" should be put inside "while isConnected()"? In initialize(), "disconnected" is set true Then in disconnect(), the "disConnecting" is set to true. Then the connect() method will not enter the "while isConnected()" loop and will not wait(). This is the root cause of the hang. Now how to get rid of the disconnected member? Actually addSystem(newSystem) has handled that. It added a new system into item 0, then existingSystems = Collections.unmodifiableList(l); Bugs: geode-329 https://issues.apache.org/jira/browse/geode-329 Repository: geode Description ------- There's a race conditition that 2 DS will be created when the current DS is disconnecting. Diffs (updated) ----- gemfire-core/src/main/java/com/gemstone/gemfire/distributed/DistributedSystem.java b7b2cd8 Diff: https://reviews.apache.org/r/38572/diff/ Testing ------- precheckin Thanks, xiaojian zhou