Description
PathChildrenCache attempts to check for any change that occurred during a connection loss in applyNewData():
PathChildrenCache.java
else if ( previousData.getStat().getVersion() != stat.getVersion() )
The way to compare stats is erroneous. version will be reset if the node is recreated. So the above code only works if an update has been made, but it may miss changes that involve a delete event.
Example:
- node /tmp is just created, version=0
- connection loss
- node /tmp is deleted
- node /tmp is recreated with new data, version=0
- reconnect
- no data change event from PathChildrenCache
Attachments
Issue Links
- links to