dlmarion opened a new pull request, #5183:
URL: https://github.com/apache/accumulo/pull/5183

   This commit removes most of the places where ZooCache instances were being 
created in favor of re-using the ZooCache from the ClientContext. Additionally, 
this commit does not place a Watcher on each node that is cached and instead 
places a single persistent recursive Watcher at the paths in which the caching 
is taking place.
   
   This change roughly reduces the Watchers reported in WatchTheWatchCountIT by 
50%. While reducing the number of Watchers, this commit could reduce ZooKeeper 
server performance in two ways:
   
     1. There is a note in the ZooKeeper javadoc for the AddWatchMode enum that 
states there is a small performance decrease when using recursive watchers as 
all of the segments of ZNode paths need to be checked for watch triggering.
   
     2. Because a Watcher is not set on each node this commit modified the 
ZooCache.ZCacheWatcher to remove the parent of the triggered node, the 
triggered node, and all of its siblings from the cache. This overmatching may 
mean increased lookups in ZooKeeper.
   
   Related to #5134
   Closes #5154, #5157


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