dlmarion opened a new pull request, #5582: URL: https://github.com/apache/accumulo/pull/5582
ZooPropStore is eventually consistent when a property is changed as it waits for the PropStoreWatcher to receive the event which calls remove on the Caffeine cache. Subsequent calls to ZooPropStore.get will rely on the ZooPropLoader to re-read the information from ZooKeeper and populate the Caffeine cache. ZooBasedConfiguration does not read directly from ZooPropStore and instead reads a snapshot of the data using PropSnapshot. When ZooBasedConfiguration.invalidateCache is called it just marks the PropSnapshot as needing an update, which will re-read from the underlying ZooPropStore. However, if the PropStoreWatcher has not yet fired, then the information read will be the same as the ZooPropStore has not yet been updated. The new PropStore.invalidate method implementation in ZooPropStore removes the node from the Caffeine cache, the same thing that the PropStoreWatcher will do when it receives the event. When a property is changed in the local process, then the cache entry will be immediately invalidated and re-read. The downside to this change is that it will be read twice, when the PropStoreWatcher receives the event. Closes #5541 -- 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: notifications-unsubscr...@accumulo.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org