Details
-
Sub-task
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
None
Description
If the current thread calls the ContainerBalancer#stop method, it ends up calling interrupt and join on itself.
balancerRunning = false;
currentBalancingThread.interrupt();
currentBalancingThread.join(1000);
This causes:
[ContainerBalancer] WARN balancer.ContainerBalancer (ContainerBalancer.java:stop(731)) - Interrupted while waiting for balancing thread to join.
[ContainerBalancer] INFO balancer.ContainerBalancer (ContainerBalancer.java:stop(736)) - Container Balancer stopped successfully.
The current thread should be prevented from interrupting itself. The interrupt and join calls are required when ContainerBalancer#stop has been called from a different thread and balancer needs to stop gracefully.
Attachments
Issue Links
- fixes
-
HDDS-5760 ContainerBalancer incorrectly exits an iteration early without checking move results.
- Resolved
- links to