You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-commits@hadoop.apache.org by ji...@apache.org on 2011/03/03 03:44:33 UTC
svn commit: r1076505 - in /hadoop/hdfs/branches/HDFS-1052: ./
src/java/org/apache/hadoop/hdfs/protocol/
src/java/org/apache/hadoop/hdfs/server/datanode/
src/test/hdfs/org/apache/hadoop/hdfs/
Author: jitendra
Date: Thu Mar 3 02:44:33 2011
New Revision: 1076505
URL: http://svn.apache.org/viewvc?rev=1076505&view=rev
Log:
Hdfs Federation: TestFileAppend2, TestFileAppend3 and TestBlockTokenWithDFS failing.
Modified:
hadoop/hdfs/branches/HDFS-1052/CHANGES.txt
hadoop/hdfs/branches/HDFS-1052/src/java/org/apache/hadoop/hdfs/protocol/ExtendedBlock.java
hadoop/hdfs/branches/HDFS-1052/src/java/org/apache/hadoop/hdfs/server/datanode/DataXceiver.java
hadoop/hdfs/branches/HDFS-1052/src/test/hdfs/org/apache/hadoop/hdfs/MiniDFSCluster.java
hadoop/hdfs/branches/HDFS-1052/src/test/hdfs/org/apache/hadoop/hdfs/TestPipelines.java
Modified: hadoop/hdfs/branches/HDFS-1052/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/hdfs/branches/HDFS-1052/CHANGES.txt?rev=1076505&r1=1076504&r2=1076505&view=diff
==============================================================================
--- hadoop/hdfs/branches/HDFS-1052/CHANGES.txt (original)
+++ hadoop/hdfs/branches/HDFS-1052/CHANGES.txt Thu Mar 3 02:44:33 2011
@@ -159,6 +159,9 @@ Trunk (unreleased changes)
HDFS-1702. Federation: fix TestBackupNode and TestRefreshNamendoes
failures. (suresh)
+ HDFS-1706. Federation: TestFileAppend2, TestFileAppend3 and
+ TestBlockTokenWithDFS failing. (jitendra)
+
IMPROVEMENTS
HDFS-1510. Added test-patch.properties required by test-patch.sh (nigel)
Modified: hadoop/hdfs/branches/HDFS-1052/src/java/org/apache/hadoop/hdfs/protocol/ExtendedBlock.java
URL: http://svn.apache.org/viewvc/hadoop/hdfs/branches/HDFS-1052/src/java/org/apache/hadoop/hdfs/protocol/ExtendedBlock.java?rev=1076505&r1=1076504&r2=1076505&view=diff
==============================================================================
--- hadoop/hdfs/branches/HDFS-1052/src/java/org/apache/hadoop/hdfs/protocol/ExtendedBlock.java (original)
+++ hadoop/hdfs/branches/HDFS-1052/src/java/org/apache/hadoop/hdfs/protocol/ExtendedBlock.java Thu Mar 3 02:44:33 2011
@@ -50,7 +50,7 @@ public class ExtendedBlock implements Wr
}
public ExtendedBlock(final ExtendedBlock b) {
- this(b.poolId, b.block);
+ this(b.poolId, new Block(b.block));
}
public ExtendedBlock(final String poolId, final long blockId) {
Modified: hadoop/hdfs/branches/HDFS-1052/src/java/org/apache/hadoop/hdfs/server/datanode/DataXceiver.java
URL: http://svn.apache.org/viewvc/hadoop/hdfs/branches/HDFS-1052/src/java/org/apache/hadoop/hdfs/server/datanode/DataXceiver.java?rev=1076505&r1=1076504&r2=1076505&view=diff
==============================================================================
--- hadoop/hdfs/branches/HDFS-1052/src/java/org/apache/hadoop/hdfs/server/datanode/DataXceiver.java (original)
+++ hadoop/hdfs/branches/HDFS-1052/src/java/org/apache/hadoop/hdfs/server/datanode/DataXceiver.java Thu Mar 3 02:44:33 2011
@@ -218,6 +218,11 @@ class DataXceiver extends DataTransferPr
" tcp no delay " + s.getTcpNoDelay());
}
+ // We later mutate block's generation stamp and length, but we need to
+ // forward the original version of the block to downstream mirrors, so
+ // make a copy here.
+ final ExtendedBlock originalBlock = new ExtendedBlock(block);
+
block.setNumBytes(dataXceiverServer.estimateBlockSize);
LOG.info("Receiving block " + block +
" src: " + remoteAddress +
@@ -294,7 +299,7 @@ class DataXceiver extends DataTransferPr
mirrorIn = new DataInputStream(NetUtils.getInputStream(mirrorSock));
// Write header: Copied from DFSClient.java!
- DataTransferProtocol.Sender.opWriteBlock(mirrorOut, block,
+ DataTransferProtocol.Sender.opWriteBlock(mirrorOut, originalBlock,
pipelineSize, stage, newGs, minBytesRcvd, maxBytesRcvd, client,
srcDataNode, targets, blockToken);
Modified: hadoop/hdfs/branches/HDFS-1052/src/test/hdfs/org/apache/hadoop/hdfs/MiniDFSCluster.java
URL: http://svn.apache.org/viewvc/hadoop/hdfs/branches/HDFS-1052/src/test/hdfs/org/apache/hadoop/hdfs/MiniDFSCluster.java?rev=1076505&r1=1076504&r2=1076505&view=diff
==============================================================================
--- hadoop/hdfs/branches/HDFS-1052/src/test/hdfs/org/apache/hadoop/hdfs/MiniDFSCluster.java (original)
+++ hadoop/hdfs/branches/HDFS-1052/src/test/hdfs/org/apache/hadoop/hdfs/MiniDFSCluster.java Thu Mar 3 02:44:33 2011
@@ -975,7 +975,8 @@ public class MiniDFSCluster {
System.out.println("Shutting down the namenode");
nn.stop();
nn.join();
- nameNodes[nnIndex] = null;
+ Configuration conf = nameNodes[nnIndex].conf;
+ nameNodes[nnIndex] = new NameNodeInfo(null, conf);
}
}
Modified: hadoop/hdfs/branches/HDFS-1052/src/test/hdfs/org/apache/hadoop/hdfs/TestPipelines.java
URL: http://svn.apache.org/viewvc/hadoop/hdfs/branches/HDFS-1052/src/test/hdfs/org/apache/hadoop/hdfs/TestPipelines.java?rev=1076505&r1=1076504&r2=1076505&view=diff
==============================================================================
--- hadoop/hdfs/branches/HDFS-1052/src/test/hdfs/org/apache/hadoop/hdfs/TestPipelines.java (original)
+++ hadoop/hdfs/branches/HDFS-1052/src/test/hdfs/org/apache/hadoop/hdfs/TestPipelines.java Thu Mar 3 02:44:33 2011
@@ -104,12 +104,15 @@ public class TestPipelines {
filePath.toString(), FILE_SIZE - 1, FILE_SIZE).getLocatedBlocks();
String bpid = cluster.getNamesystem().getBlockPoolId();
- Replica r = DataNodeAdapter.fetchReplicaInfo(cluster.getDataNodes().get(1),
- bpid, lb.get(0).getBlock().getBlockId());
- assertTrue("Replica shouldn'e be null", r != null);
- assertEquals(
- "Should be RBW replica after sequence of calls append()/write()/hflush()",
- HdfsConstants.ReplicaState.RBW, r.getState());
+ for (DataNode dn : cluster.getDataNodes()) {
+ Replica r = DataNodeAdapter.fetchReplicaInfo(dn, bpid, lb.get(0)
+ .getBlock().getBlockId());
+
+ assertTrue("Replica on DN " + dn + " shouldn't be null", r != null);
+ assertEquals("Should be RBW replica on " + dn
+ + " after sequence of calls " + "append()/write()/hflush()",
+ HdfsConstants.ReplicaState.RBW, r.getState());
+ }
ofs.close();
}