HDDS-13618. Avoid frequent pipeline close action from DN#9024
HDDS-13618. Avoid frequent pipeline close action from DN#9024sodonnel merged 6 commits intoapache:masterfrom
Conversation
|
@sumitagrawl please review this PR. |
...doop/ozone/container/common/statemachine/commandhandler/TestClosePipelineCommandHandler.java
Outdated
Show resolved
Hide resolved
.../org/apache/hadoop/ozone/container/common/statemachine/commandhandler/CommandDispatcher.java
Outdated
Show resolved
Hide resolved
...e/hadoop/ozone/container/common/statemachine/commandhandler/ClosePipelineCommandHandler.java
Outdated
Show resolved
Hide resolved
|
There is a failing test that might be related - could you check it please? Also:
What if there has been an SCM failover? Do the follower SCMs get these commands and drop them, or store them? If there is a failover, will this change prevent the command from reaching the new leader SCM? |
Follower SCM also get the command but drop the command and do not store. |
|
Addressed the flakiness in |
…pache#9024) (cherry picked from commit 2a6e31d)
What changes were proposed in this pull request?
When DN ratis identifies issues with a pipeline, it triggers close pipeline action for below cases:
This keeps triggering close pipeline action, even though close actions are queued in DN command queue. If there is any issue in DN pipeline closure, it can result in huge such action every HB.
There is an optimisation that within one HB, it will avoid duplicate pipeline close action.
With this change, repeated triggers across HBs are also prevented by checking the command queue before adding new close actions.
What is the link to the Apache JIRA
HDDS-13618
How was this patch tested?
Added a unit test in
TestClosePipelineCommandHandler.