You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@accumulo.apache.org by "EdColeman (via GitHub)" <gi...@apache.org> on 2023/03/15 13:20:23 UTC

[GitHub] [accumulo] EdColeman commented on issue #3213: OnDemand Tables: Allow users to pin ranges of a table as online

EdColeman commented on issue #3213:
URL: https://github.com/apache/accumulo/issues/3213#issuecomment-1470001275

   My mental model for tracking loading / unloading is that this is implementing a cache.  This description
   > The TabletServer keeps track of the KeyExtent and last access time for each online onDemand tablet 
   seems to be describing LRU behavior.  
   
   Tracking the last access time can be expensive.  How often does the access time get updated?  If it is updated only on loading, then this seems that it would act more like "expireAfter", where it would be eligible for removal an a fixed time period.  In that case, what would prevent a tablet from being unloaded while a scan is in progress?  Updating on every "next()" seems like it could be prohibitively expensive.  The sweet spot would seem to be something that is tracking tablet usage  so that tablet being used in active scans would not be unnecessarily unloaded.  Maybe the last access is updated on init and on tear-down?
   
   The TableServers are going to need to gather sufficient metrics that unloader implementations can make determinations - while things like row / key knowledge will be custom, usage and access times will need to be provided.
   
   As a  "base" implementation, we could provide a time-based cleaner thread and as a extension, something triggered on low memory conditions?


-- 
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-unsubscribe@accumulo.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org