Details
-
Sub-task
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
Description
ContainerBalancer class while handling stop, set the field currentBalancingThread to null, thus marking it as stopped ( isBalancerRunning() method returning as false). But it continue to wait for thread to be stopped, i.e. not really stopped.
This has impact as:
- Hanging threads which is running (waiting to be stopped).
- Class fields are shared, this can impact when new start action comes and exiting thread is still running. Existing thread can continue to run as currentBalancingThread is set to not null, and can face other impact.
Need to bring Stopping state and disallow start till existing operation of stop is completed.
Attachments
Issue Links
- fixes
-
HDDS-7215 ContainerBalancer need have separate class handling management and balancing activity
- Resolved
- links to