Skip to content

HDDS-9769. SCM's FinalizationStateManager#finalizeLayoutFeature Ratis call should be idempotent.#5670

Merged
nandakumar131 merged 2 commits intoapache:masterfrom
nandakumar131:HDDS-9769
Nov 28, 2023
Merged

HDDS-9769. SCM's FinalizationStateManager#finalizeLayoutFeature Ratis call should be idempotent.#5670
nandakumar131 merged 2 commits intoapache:masterfrom
nandakumar131:HDDS-9769

Conversation

@nandakumar131
Copy link
Contributor

What changes were proposed in this pull request?

If there is a restart during or immediately after SCM upgrade finalization, the FinalizationStateManager#finalizeLayoutFeature Ratis call will be re-executed while Raft log is re-applied during restart.
This will cause the SCM to crash if FinalizationStateManager#finalizeLayoutFeature call is not idempotent.

This PR modifies the behaviour of AbstractLayoutVersionManager to make finalizeLayoutFeature call idempotent.

What is the link to the Apache JIRA

HDDS-9769

How was this patch tested?

Modified the existing unit test to verify the new behavior.

Copy link
Contributor

@sumitagrawl sumitagrawl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@adoroszlai
Copy link
Contributor

@errose28 would you like to take a look?

Copy link
Contributor

@errose28 errose28 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM just one suggestion on the log message.

@nandakumar131 nandakumar131 merged commit ae58db3 into apache:master Nov 28, 2023
@nandakumar131
Copy link
Contributor Author

Thanks @sumitagrawl @errose28 for the review.

@nandakumar131 nandakumar131 deleted the HDDS-9769 branch November 28, 2023 08:59
@errose28
Copy link
Contributor

Thanks for the quick fix @nandakumar131

jojochuang pushed a commit to jojochuang/ozone that referenced this pull request Feb 1, 2024
…eature Ratis call should be idempotent. (apache#5670)

(cherry picked from commit ae58db3)
Change-Id: I6cd8e569c7889e8b18d505eb339eafcccd58e308
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants