EdColeman commented on PR #2778:
URL: https://github.com/apache/accumulo/pull/2778#issuecomment-1158000369
`I think I would benefit from a basic explanation of what this PR is trying
to do`
The cache implementation provides multiple ways to refresh and expire
entries.
- refreshAfterWrite() - when an entry exceeds this value, the current
value is returned and then an async task runs to determine if the entry is
still valid. This was implemented as a light weight check using the ZooKeeper
stat, similar to what is being moved to the scheduled thread in prop store.
- expireAfterAccess() - allows the cache to age-off entries that are not
accessed after the specified time period. This woul allow the cache to remove
entries for tablets that are not longer hosted on a tserver.
The reasoning behind removing the refreshAfterWrite() responsibilities from
the cache to the prop store is that with the property snapshots and the use of
update count, the number of cache accesses for any particular entry are greatly
reduced and it seems likely that the refresh would not be triggered in a timely
manner. Using the scheduled thread in the prop store puts a bound on the
consistency of the cache entries - if normal ZooKeeper events were missed for
any reason, the scheduled task would serve to keep the values in sync within
the bound of the scheduled task timing (roughly every 15 minutes)
--
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]