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]

Reply via email to