kevinrr888 commented on code in PR #5416:
URL: https://github.com/apache/accumulo/pull/5416#discussion_r2023038733
##########
server/manager/src/main/java/org/apache/accumulo/manager/Manager.java:
##########
@@ -568,10 +573,13 @@ private class MigrationCleanupThread implements Runnable {
@Override
public void run() {
while (stillManager()) {
- if (!migrations.isEmpty()) {
+ // migrations are stored in the metadata tables which cannot be read
until the
+ // TabletGroupWatchers are started
+ if (watchersStarted.get() && numMigrations() > 0) {
Review Comment:
I was going to use a thread per data level to run the migration cleanup to
avoid the deadlock as you described. Moved the migrations cleanup thread start
back to where it was originally (before TGWs are started) to ensure the
deadlock still occurred. Low and behold, it works perfectly fine now. I've run
several times. Maybe some recent change to the migrations cleanup thread fixed
this (maybe no longer calling numMigrations() or something else? I'm not sure).
Either way, seems to work fine now, and I'm fairly confident it is as I was
seeing the dead lock every single run when run before the TGWs were started and
now have not seen it over several runs. PSunny passes cleanly and specifically
WALSunnyDayIT works fine now.
--
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]