Uploaded image for project: 'Apache Ozone'
  1. Apache Ozone
  2. HDDS-7759 Improve Ozone Replication Manager
  3. HDDS-8337

ReplicationManager: MisReplicationHandler should throw an exception if partially successful

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 1.4.0
    • None

    Description

      In MisReplicationHandler.getTargetDatanodes() the logic tries to get the required nodes and if it cannot it tries for less nodes to allow a partial recovery.

      If the requested node count does not equal the number returned, it currently logs a warning:

          if (targetDatanodes.size() < replicasToBeReplicated.size()) {
            LOG.warn("Placement Policy {} found only {} nodes for Container: {}," +
                     " number of required nodes: {}, usedNodes : {}",
                    containerPlacement.getClass(), targetDatanodes.size(),
                    container.getContainerID(), replicasToBeReplicated.size(),
                    usedDns);
          }
      

      In such a case, after sending the commands we can, it should thrown an exception to it is requeued for retry later, rather than returning successfully.

      Attachments

        Issue Links

          Activity

            People

              adoroszlai Attila Doroszlai
              sodonnell Stephen O'Donnell
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: