Skip to content

Conversation

@sodonnel
Copy link
Contributor

What changes were proposed in this pull request?

Keeping in line with the Legacy Replication Manager, we should synchronize on the containerInfo currently being processed within RM and the new MoveManager.

ICR and FCR processing already synchronizes on containerInfo as it processes the container, and in order to get a consistent view of the container as it is processed, Legacy ReplicationManager also synchronized on containerInfo.

By ensuring ICR / FCR, RM and MoveManager synchronize on the containerInfo object, we can ensure that each processing area gets a consistent view of the container pendingOp, replicas and state as it processes the container, and avoid any unexpected consequences around concurrently modifying the container state in SCM.

Replication manager is now split into 2 stages. The "check" stage, and the unhealthy (under, over, mis-replicated) processing stage. Therefore we need to synchronized in two places inside RM.

What is the link to the Apache JIRA

https://issues.apache.org/jira/browse/HDDS-7998

How was this patch tested?

No logic changes, so the existing tests should cover it.

@adoroszlai adoroszlai merged commit 2fa1e5a into apache:master Feb 22, 2023
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.

2 participants