hadoop-common-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From s..@apache.org
Subject [1/2] hadoop git commit: Revert "HDFS-12299. Race Between update pipeline and DN Re-Registration. Contributed by Brahma Reddy Battula."
Date Fri, 30 Mar 2018 23:31:05 GMT
Repository: hadoop
Updated Branches:
  refs/heads/branch-2.7 caf518cd3 -> 4a5d0e5a4


Revert "HDFS-12299. Race Between update pipeline and DN Re-Registration. Contributed by Brahma
Reddy Battula."

This reverts commit 94bb6fa9dfa0877d68b388fa85309623ce71b21d.


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/257d5a17
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/257d5a17
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/257d5a17

Branch: refs/heads/branch-2.7
Commit: 257d5a173127ebefe30cda76f51b2078b3912120
Parents: caf518c
Author: Konstantin V Shvachko <shv@apache.org>
Authored: Fri Mar 30 16:22:04 2018 -0700
Committer: Konstantin V Shvachko <shv@apache.org>
Committed: Fri Mar 30 16:22:04 2018 -0700

----------------------------------------------------------------------
 hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt     |  3 --
 .../org/apache/hadoop/hdfs/DFSOutputStream.java | 15 ------
 .../BlockInfoContiguousUnderConstruction.java   |  5 +-
 .../TestClientProtocolForPipelineRecovery.java  | 50 --------------------
 4 files changed, 2 insertions(+), 71 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hadoop/blob/257d5a17/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
index 7675ece..6ad1070 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
+++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
@@ -45,9 +45,6 @@ Release 2.7.6 - UNRELEASED
     HDFS-13195. DataNode conf page cannot display the current value after
     reconfig. (Mao Baolong via kihwal)
 
-    HDFS-12299. Race Between update pipeline and DN Re-Registration.
-    (Brahma Reddy Battula. Backport by Wei-Chiu Chuang)
-
 Release 2.7.5 - 2017-12-14
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/257d5a17/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSOutputStream.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSOutputStream.java
b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSOutputStream.java
index 89df16c..2bf4e1b 100755
--- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSOutputStream.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSOutputStream.java
@@ -1345,21 +1345,6 @@ public class DFSOutputStream extends FSOutputSummer
       return false; // do not sleep, continue processing
     }
 
-    void updateBlockGS(final long newGS) {
-      block.setGenerationStamp(newGS);
-    }
-
-    /** update pipeline at the namenode */
-    @VisibleForTesting
-    public void updatePipeline(long newGS) throws IOException {
-      final ExtendedBlock oldBlock = block.getCurrentBlock();
-      // the new GS has been propagated to all DN, it should be ok to update the
-      // local block state
-      updateBlockGS(newGS);
-      dfsClient.namenode.updatePipeline(dfsClient.clientName, oldBlock,
-          block.getCurrentBlock(), nodes, storageIDs);
-    }
-
     DatanodeInfo[] getExcludedNodes() {
       return excludedNodes.getAllPresent(excludedNodes.asMap().keySet())
           .keySet().toArray(new DatanodeInfo[0]);

http://git-wip-us.apache.org/repos/asf/hadoop/blob/257d5a17/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockInfoContiguousUnderConstruction.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockInfoContiguousUnderConstruction.java
b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockInfoContiguousUnderConstruction.java
index e98ab7e..409295a 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockInfoContiguousUnderConstruction.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockInfoContiguousUnderConstruction.java
@@ -193,9 +193,8 @@ public class BlockInfoContiguousUnderConstruction extends BlockInfoContiguous
{
     int numLocations = targets == null ? 0 : targets.length;
     this.replicas = new ArrayList<ReplicaUnderConstruction>(numLocations);
     for(int i = 0; i < numLocations; i++)
-      if (targets[i] != null) {
-        replicas.add(new ReplicaUnderConstruction(this, targets[i], ReplicaState.RBW));
-      }
+      replicas.add(
+        new ReplicaUnderConstruction(this, targets[i], ReplicaState.RBW));
   }
 
   /**

http://git-wip-us.apache.org/repos/asf/hadoop/blob/257d5a17/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestClientProtocolForPipelineRecovery.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestClientProtocolForPipelineRecovery.java
b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestClientProtocolForPipelineRecovery.java
index 29e3c8b..63a6f62 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestClientProtocolForPipelineRecovery.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestClientProtocolForPipelineRecovery.java
@@ -32,9 +32,6 @@ import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.hdfs.protocol.DatanodeInfo;
 import org.apache.hadoop.hdfs.protocol.ExtendedBlock;
-import org.apache.hadoop.hdfs.protocol.LocatedBlock;
-import org.apache.hadoop.hdfs.protocolPB.DatanodeProtocolClientSideTranslatorPB;
-import org.apache.hadoop.hdfs.server.blockmanagement.DatanodeDescriptor;
 import org.apache.hadoop.hdfs.server.datanode.DataNode;
 import org.apache.hadoop.hdfs.server.datanode.DataNodeFaultInjector;
 import org.apache.hadoop.hdfs.server.namenode.LeaseExpiredException;
@@ -530,51 +527,4 @@ public class TestClientProtocolForPipelineRecovery {
       }
     }
   }
-
-  @Test
-  public void testUpdatePipeLineAfterDNReg()throws Exception {
-    Configuration conf = new HdfsConfiguration();
-    MiniDFSCluster cluster = null;
-    try {
-      cluster = new MiniDFSCluster.Builder(conf).numDataNodes(2).build();
-      cluster.waitActive();
-      FileSystem fileSys = cluster.getFileSystem();
-
-      Path file = new Path("/testUpdatePipeLineAfterDNReg");
-      FSDataOutputStream out = fileSys.create(file);
-      out.write(1);
-      out.hflush();
-      //Get the First DN and disable the heartbeats and then put in Deadstate
-      DFSOutputStream dfsOut = (DFSOutputStream) out.getWrappedStream();
-      DatanodeInfo[] pipeline = dfsOut.getPipeline();
-      DataNode dn1 = cluster.getDataNode(pipeline[0].getIpcPort());
-      dn1.setHeartbeatsDisabledForTests(true);
-      DatanodeDescriptor dn1Desc = cluster.getNamesystem(0).getBlockManager()
-          .getDatanodeManager().getDatanode(dn1.getDatanodeId());
-      cluster.setDataNodeDead(dn1Desc);
-      //Re-register the DeadNode
-      DatanodeProtocolClientSideTranslatorPB dnp =
-          new DatanodeProtocolClientSideTranslatorPB(
-          cluster.getNameNode().getNameNodeAddress(), conf);
-      dnp.registerDatanode(
-          dn1.getDNRegistrationForBP(cluster.getNamesystem().getBlockPoolId()));
-      DFSOutputStream dfsO = (DFSOutputStream) out.getWrappedStream();
-      String clientName = ((DistributedFileSystem) fileSys).getClient()
-          .getClientName();
-      NamenodeProtocols namenode = cluster.getNameNodeRpc();
-      //Update the genstamp and call updatepipeline
-      LocatedBlock newBlock = namenode
-          .updateBlockForPipeline(dfsO.getBlock(), clientName);
-      dfsO.getStreamer()
-          .updatePipeline(newBlock.getBlock().getGenerationStamp());
-      newBlock = namenode.updateBlockForPipeline(dfsO.getBlock(), clientName);
-      //Should not throw any error Pipeline should be success
-      dfsO.getStreamer()
-          .updatePipeline(newBlock.getBlock().getGenerationStamp());
-    } finally {
-      if (cluster != null) {
-        cluster.shutdown();
-      }
-    }
-  }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org


Mime
View raw message