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

   This change will allow system compactions to postpone user compactions that 
have had no jobs run yet. Before this, if a user compaction was in the queue 
and had selected files that overlapped it would block system compactions from 
running. Now if there are selected files, but the user compaction is not 
running and hasn't had any jobs completed, the coordinator will clear the 
selectedFiles column so that the system compaction can run. The fate operation 
will reset the column again while trying to make progress.
   
   Marking this as a draft for now as there is an outstanding TODO, there's 
still an open question about how to handle time/expiration, and also more 
testing is needed as there is only one IT so far. 
   
   The current test works by creating two tables and setting compactions to be 
slow using the slow iterator and also setting system compactions to be 
disabled. The test will start compacting one table so the compactor is busy. 
Next a user compaction is started that will waiting in the queue and then the 
system compactions are re-enabled so a system compaction will be scheduled. A 
custom test planner is set so that system compactions take higher precedence. 
This means that when the compation coordinator goes to start the next 
compaction job, it will try and grab the system compaction ahead of the user 
compaction. Before this change this would have been blocked by the 
selectedFiles column being set by the user compaction, however because the user 
compaction has had no jobs run it can proceed and clear the column and run the 
system compaction. Later the fate operation will re-set it again and the user 
compaction will run second.
   
   
   This closes #4454


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