keith-turner commented on code in PR #4254:
URL: https://github.com/apache/accumulo/pull/4254#discussion_r1492557837
##########
server/manager/src/main/java/org/apache/accumulo/manager/tableOps/compact/CompactionDriver.java:
##########
@@ -267,8 +267,13 @@ public int updateAndCheckTablets(Manager manager, FateId
fateId)
otherSelected++;
}
} else {
- // ELASTICITY_TODO if there are compactions preventing selection of
files, then add
+ // If there are compactions preventing selection of files, then add
// selecting marker that prevents new compactions from starting
+ var mutator =
tabletsMutator.mutateTablet(tablet.getExtent()).requireAbsentOperation()
+ .requireSame(tablet, ECOMP).setCompactionRequested();
Review Comment:
> How would two different fate ops on the same tablet be able to set this if
the table lock is needed to continue and run the CompactionDriver fate op?
That line mentioned is reserving a "read lock", there is a boolean argument
that determines this. That boolean would be more clear if it were switched to
an enum. The "read lock" allows multiple concurrent compactions to grab the
lock as long nothnig holds the write lock (things like create table, delete
table, merge grab the write lock).
--
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]