keith-turner opened a new pull request, #5431:
URL: https://github.com/apache/accumulo/pull/5431

   The client side tablet cache supports invalidating all entrires in the cache 
related a to tablet server.  This is usually called when client code sees an 
unexpected exception on a server.  There are two cases that could cause this.  
In one case the tablet server is healthy and something like a user iterator 
caused an exception.  For this case invalidating everything in the cache 
related to the server may cause uneeded metadata reads.  The other case is that 
the tablet server is unhealthy and any interaction with it will fail. In this 
case invalidating everything in the cache makes sense. However, until that 
unhealthy server no longer has tablet locations set in the metadata table, the 
optimization to clear all servers from the cache is not going to help overall.
   
   So clearing servers in the cache is sometimes harmful and probably not 
really helpful.  Therefore this change removes the ability to clear everything 
for a server.  The code that used to call this was modified to clear the 
extents it was trying to access on the server, instead of everything for the 
server.
   
   Another reason to remove server invalidation is the cache supports removing 
entries where the tserver no longer has a lock.  This removal is lazy in that 
it happens when something tries to access the entry.  This will efficiently 
remove everything for the server once its lock is gone.
   
   One nice benefit of this is that clearing extents from the cache is always 
fast because the cache is indexed by extent.  However clearing a server 
required a full scan of the cache, which could be slow on a table with lots of 
tablets.


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