Skip to content

Conversation

@JacksonYao287
Copy link
Contributor

What changes were proposed in this pull request?

Implement the Over-replication Handler

What is the link to the Apache JIRA

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

How was this patch tested?

unit test

Copy link
Contributor

@umamaheswararao umamaheswararao left a comment

Choose a reason for hiding this comment

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

Thank you @JacksonYao287 for working on this patch. I have few comments to check. Thanks

try {
//the command target node should be in-service and healthy
return nodeManager.getNodeStatus(dd)
.equals(NodeStatus.inServiceHealthy());
Copy link
Contributor

Choose a reason for hiding this comment

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

I think we discussed this. This is not covering healthy_readonly?

* commands.
*/
public class ECUnderReplicationHandler implements UnderReplicationHandler {
public class ECUnderReplicationHandler implements UnhealthyReplicationHandler {
Copy link
Contributor

Choose a reason for hiding this comment

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

Not sure we will call over replication as unhealthy. Don't have better name in my mind but how about simply ReplicationHandler ?

Since it is common class now, javadoc should represent the generic message. Currently it assumed for underReplication handler.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

ReplicationHandler seems a little confusing, it might be considered as the handler to handle replication command.
so i suggest we use unhealthy just for now and change it to an appropriate name after we find a proper one. what about "nonOptimalReplicationHandler"

@JacksonYao287
Copy link
Contributor Author

@umamaheswararao thanks for the review, will fix the comments later

Copy link
Contributor

@umamaheswararao umamaheswararao left a comment

Choose a reason for hiding this comment

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

Thanks @JacksonYao287 for updating the patch. Patch almost looks good to me, except a small comment left.

@JacksonYao287
Copy link
Contributor Author

Thanks @umamaheswararao for the review , i have update this patch according to your comments, pleas take a look

}
/**
* Identify a new set of datanode(s) to replicate/reconstruct the container
* and form the SCM commands to send it to DN.
Copy link
Contributor

Choose a reason for hiding this comment

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

Missed to update doc?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

sorry for missing , fixed now!

import java.util.stream.Collectors;

/**
* this class holds some common methods that will be shared among
Copy link
Contributor

Choose a reason for hiding this comment

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

Typos: this --> This
Implementation -> implementation

Copy link
Contributor

@umamaheswararao umamaheswararao left a comment

Choose a reason for hiding this comment

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

LGTM

@JacksonYao287
Copy link
Contributor Author

thanks @umamaheswararao for the review! i have committed this patch to master branch

@JacksonYao287 JacksonYao287 merged commit fac23c9 into apache:master Jul 5, 2022
@JacksonYao287 JacksonYao287 deleted the HDDS-6960 branch July 5, 2022 01:40
errose28 added a commit to errose28/ozone that referenced this pull request Jul 12, 2022
* master: (46 commits)
  HDDS-6901. Configure HDDS volume reserved as percentage of the volume space. (apache#3532)
  HDDS-6978. EC: Cleanup RECOVERING container on DN restarts (apache#3585)
  HDDS-6982. EC: Attempt to cleanup the RECOVERING container when reconstruction failed at coordinator. (apache#3583)
  HDDS-6968. Addendum: [Multi-Tenant] Fix USER_MISMATCH error even on correct user. (apache#3578)
  HDDS-6794. EC: Analyze and add putBlock even on non writing node in the case of partial single stripe. (apache#3514)
  HDDS-6900. Propagate TimeoutException for all SCM HA Ratis calls. (apache#3564)
  HDDS-6938. handle NPE when removing prefixAcl (apache#3568)
  HDDS-6960. EC: Implement the Over-replication Handler (apache#3572)
  HDDS-6979. Remove unused plexus dependency declaration (apache#3579)
  HDDS-6957. EC: ReplicationManager - priortise under replicated containers (apache#3574)
  HDDS-6723. Close Rocks objects properly in OzoneManager (apache#3400)
  HDDS-6942. Ozone Buckets/Objects created via S3 should not allow group access (apache#3553)
  HDDS-6965. Increase timeout for basic check (apache#3563)
  HDDS-6969. Add link to compose directory in smoketest README (apache#3567)
  HDDS-6970. EC: Ensure DatanodeAdminMonitor can handle EC containers during decommission (apache#3573)
  HDDS-6977. EC: Remove references to ContainerReplicaPendingOps in TestECContainerReplicaCount (apache#3575)
  HDDS-6217. Cleanup XceiverClientGrpc TODOs, and document how the client works and should be used. (apache#3012)
  HDDS-6773. Cleanup TestRDBTableStore (apache#3434) - fix checkstyle
  HDDS-6773. Cleanup TestRDBTableStore (apache#3434)
  HDDS-6676. KeyValueContainerData#getProtoBufMessage() should set block count (apache#3371)
  ...

Conflicts:
    hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/server/upgrade/SCMUpgradeFinalizer.java
duongkame pushed a commit to duongkame/ozone that referenced this pull request Aug 16, 2022
HDDS-6960. EC: Implement the Over-replication Handler (apache#3572)

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants