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

   CompactionManager.mainLoop runs in the TabletServer looking for tablets that 
need to be compacted. It ends up calling CompactionService.submitCompaction at 
some interval for each hosted Tablet. CompactionService.getCompactionPlan will 
make a CompactionPlan for the tablet and log a warning if no CompactionPlan is 
created but the number of files is larger than TSERV_SCAN_MAX_OPENFILES. When 
there are no compactions running for the tablet and no plan is calculated, then 
DefaultCompactionPlanner.makePlan takes into account TABLE_FILE_MAX and 
TSERV_SCAN_MAX_OPENFILES and will create a system compaction that considers all 
of the files and calculates which ones need to be compacted to get below the 
limit. Finally, a priority is calculated by calling 
CompactionJobPrioritizer.createPriority. However, given that this compaction is 
a SYSTEM compaction it will have a lower priority than all current USER 
compactions and it's priority will still be based on the total number of files. 
Given that
  the TABLE_FILE_MAX is per-table it's possible to have two tablets from 
different tables and the tablet that is over the size threshold has a lower 
priority than the tablet that is not over the size threshold. This change 
modifies
   CompactionJobPrioritizer.createPriority to take into account whether or not 
the tablet is over the threshold to give it a higher priority.
   
   Closes #4610


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