Skip to content

Conversation

@sodonnel
Copy link
Contributor

@sodonnel sodonnel commented Jan 4, 2023

What changes were proposed in this pull request?

MisReplicationHandler#filterSources gets a Set of replicas that can be used to fix mis replication. It selects CLOSED replicas:

  private Set<ContainerReplica> filterSources(Set<ContainerReplica> replicas) {
    return replicas.stream().filter(r -> r
                    .getState() == StorageContainerDatanodeProtocolProtos
                    .ContainerReplicaProto.State.CLOSED)
            .filter(r -> ReplicationManager
                    .getNodeStatus(r.getDatanodeDetails(), nodeManager)
                    .isHealthy())
            .filter(r -> r.getDatanodeDetails().getPersistedOpState()
                    == HddsProtos.NodeOperationalState.IN_SERVICE)
            .collect(Collectors.toSet());
  }

When thinking about Ratis Containers, QUASI_CLOSED replicas can also be mis replicated. They're also allowed to be replicated to datanodes so we should allow them as sources too.

What is the link to the Apache JIRA

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

How was this patch tested?

New unit test added

Copy link
Contributor

@swamirishi swamirishi left a comment

Choose a reason for hiding this comment

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

LGTM

Copy link
Contributor

@siddhantsangwan siddhantsangwan left a comment

Choose a reason for hiding this comment

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

Thanks for working on this @sodonnel. Merging to master.

@siddhantsangwan siddhantsangwan merged commit 9b48d8b into apache:master Jan 5, 2023
errose28 added a commit to errose28/ozone that referenced this pull request Jan 9, 2023
* master: (176 commits)
  HDDS-7726. EC: Enhance datanode reconstruction log message (apache#4155)
  HDDS-7739. EC: Increase the information in the RM sending command log message (apache#4153)
  HDDS-7652. Volume Quota not enforced during write when bucket quota is not set (apache#4124)
  HDDS-7628. Intermittent failure in TestOzoneContainerWithTLS (apache#4142)
  HDDS-7695. EC metrics related to replication commands don't add up (apache#4152)
  HDDS-7729. EC: ECContainerReplicaCount should handle pending delete of unhealthy replicas (apache#4146)
  HDDS-7738. SCM terminates when adding container to a closed pipeline (apache#4154)
  HDDS-7243. Remove RequestFeatureValidator from echoRPC method which supports only ValidationCondition.OLDER_CLIENT_REQUESTS (apache#4051)
  HDDS-7708. No check for certificate duration config scenarios. (apache#4149)
  HDDS-7727. EC: SCM unregistered event handler for DatanodeCommandCountUpdated (apache#4147)
  HDDS-7606. Add SCM HA support in intellij run (apache#4058)
  HDDS-7666. EC: Unrecoverable EC containers with some remaining replicas may block decommissioning (apache#4118)
  HDDS-7339. Implement Certificate renewal task for services (apache#3982)
  HDDS-7696. MisReplicationHandler does not consider QUASI_CLOSED replicas as sources (apache#4144)
  HDDS-7714. Docker cluster ozone-om-ha fails during docker-compose up (apache#4137)
  HDDS-7716. Log read requests rejected with permission denied in OM audit (apache#4136)
  HDDS-7588. Intermittent failure in TestObjectStoreWithLegacyFS#testFlatKeyStructureWithOBS (apache#4040)
  HDDS-7633. Compile error with Java 11: package com.sun.jmx.mbeanserver is not visible (apache#4077)
  HDDS-7648. Add a servername tag in UGI metrics. (apache#4094)
  HDDS-7564. Update Ozone version after 1.3.0 release (apache#4115)
  ...
jojochuang pushed a commit to jojochuang/ozone that referenced this pull request Feb 6, 2023
…cas as sources (apache#4144)

(cherry picked from commit 9b48d8b)
Change-Id: I72b2346ab443c6db1e72cff06a43ac6b5c23b803
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.

3 participants