Modified: hadoop/common/branches/HDFS-5535/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestRenameWithSnapshots.java URL: http://svn.apache.org/viewvc/hadoop/common/branches/HDFS-5535/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestRenameWithSnapshots.java?rev=1555021&r1=1555020&r2=1555021&view=diff ============================================================================== --- hadoop/common/branches/HDFS-5535/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestRenameWithSnapshots.java (original) +++ hadoop/common/branches/HDFS-5535/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestRenameWithSnapshots.java Fri Jan 3 07:26:52 2014 @@ -59,12 +59,11 @@ import org.apache.hadoop.hdfs.server.nam import org.apache.hadoop.hdfs.server.namenode.INode; import org.apache.hadoop.hdfs.server.namenode.INodeDirectory; import org.apache.hadoop.hdfs.server.namenode.INodeFile; -import org.apache.hadoop.hdfs.server.namenode.INodeMap; import org.apache.hadoop.hdfs.server.namenode.INodeReference; import org.apache.hadoop.hdfs.server.namenode.INodeReference.WithCount; import org.apache.hadoop.hdfs.server.namenode.Quota; -import org.apache.hadoop.hdfs.server.namenode.snapshot.INodeDirectoryWithSnapshot.ChildrenDiff; -import org.apache.hadoop.hdfs.server.namenode.snapshot.INodeDirectoryWithSnapshot.DirectoryDiff; +import org.apache.hadoop.hdfs.server.namenode.snapshot.DirectoryWithSnapshotFeature.ChildrenDiff; +import org.apache.hadoop.hdfs.server.namenode.snapshot.DirectoryWithSnapshotFeature.DirectoryDiff; import org.apache.hadoop.hdfs.util.Diff.ListType; import org.apache.hadoop.hdfs.util.ReadOnlyList; import org.apache.hadoop.test.GenericTestUtils; @@ -757,10 +756,10 @@ public class TestRenameWithSnapshots { // only 2 references: one in deleted list of sdir1, one in created list of // sdir1 assertEquals(2, fooWithCount.getReferenceCount()); - INodeDirectoryWithSnapshot foo = (INodeDirectoryWithSnapshot) fooWithCount - .asDirectory(); + INodeDirectory foo = fooWithCount.asDirectory(); assertEquals(1, foo.getDiffs().asList().size()); - assertEquals("s1", foo.getLastSnapshot().getRoot().getLocalName()); + assertEquals("s1", foo.getDirectoryWithSnapshotFeature().getLastSnapshot() + .getRoot().getLocalName()); INodeFile bar1 = fsdir.getINode4Write(bar1_dir1.toString()).asFile(); assertEquals(1, bar1.getDiffs().asList().size()); assertEquals("s1", bar1.getDiffs().getLastSnapshot().getRoot() @@ -973,8 +972,7 @@ public class TestRenameWithSnapshots { INodeReference.WithCount fooWithCount = (WithCount) fooRef.getReferredINode(); // 5 references: s1, s22, s333, s2222, current tree of sdir1 assertEquals(5, fooWithCount.getReferenceCount()); - INodeDirectoryWithSnapshot foo = (INodeDirectoryWithSnapshot) fooWithCount - .asDirectory(); + INodeDirectory foo = fooWithCount.asDirectory(); List<DirectoryDiff> fooDiffs = foo.getDiffs().asList(); assertEquals(4, fooDiffs.size()); assertEquals("s2222", fooDiffs.get(3).snapshot.getRoot().getLocalName()); @@ -1032,7 +1030,7 @@ public class TestRenameWithSnapshots { fooRef = fsdir.getINode(foo_s2222.toString()).asReference(); fooWithCount = (WithCount) fooRef.getReferredINode(); assertEquals(4, fooWithCount.getReferenceCount()); - foo = (INodeDirectoryWithSnapshot) fooWithCount.asDirectory(); + foo = fooWithCount.asDirectory(); fooDiffs = foo.getDiffs().asList(); assertEquals(4, fooDiffs.size()); assertEquals("s2222", fooDiffs.get(3).snapshot.getRoot().getLocalName()); @@ -1171,8 +1169,7 @@ public class TestRenameWithSnapshots { assertTrue(fooRef instanceof INodeReference.WithName); INodeReference.WithCount fooWC = (WithCount) fooRef.getReferredINode(); assertEquals(1, fooWC.getReferenceCount()); - INodeDirectoryWithSnapshot fooDir = (INodeDirectoryWithSnapshot) fooWC - .getReferredINode().asDirectory(); + INodeDirectory fooDir = fooWC.getReferredINode().asDirectory(); List<DirectoryDiff> diffs = fooDir.getDiffs().asList(); assertEquals(1, diffs.size()); assertEquals("s2", diffs.get(0).snapshot.getRoot().getLocalName()); @@ -1263,7 +1260,7 @@ public class TestRenameWithSnapshots { INodeDirectory dir2 = fsdir.getINode4Write(sdir2.toString()).asDirectory(); INodeDirectory mockDir2 = spy(dir2); doReturn(false).when(mockDir2).addChild((INode) anyObject(), anyBoolean(), - (Snapshot) anyObject(), (INodeMap) anyObject()); + (Snapshot) anyObject()); INodeDirectory root = fsdir.getINode4Write("/").asDirectory(); root.replaceChild(dir2, mockDir2, fsdir.getINodeMap()); @@ -1288,9 +1285,8 @@ public class TestRenameWithSnapshots { assertEquals(0, childrenDiff.getList(ListType.CREATED).size()); INode fooNode = fsdir.getINode4Write(foo.toString()); - assertTrue(fooNode instanceof INodeDirectoryWithSnapshot); - List<DirectoryDiff> fooDiffs = ((INodeDirectoryWithSnapshot) fooNode) - .getDiffs().asList(); + assertTrue(fooNode.isDirectory() && fooNode.asDirectory().isWithSnapshot()); + List<DirectoryDiff> fooDiffs = fooNode.asDirectory().getDiffs().asList(); assertEquals(1, fooDiffs.size()); assertEquals("s1", fooDiffs.get(0).snapshot.getRoot().getLocalName()); @@ -1302,7 +1298,7 @@ public class TestRenameWithSnapshots { assertFalse(hdfs.exists(newfoo)); INodeDirectory dir2Node = fsdir.getINode4Write(sdir2.toString()) .asDirectory(); - assertFalse(dir2Node instanceof INodeDirectoryWithSnapshot); + assertFalse(dir2Node.isWithSnapshot()); ReadOnlyList<INode> dir2Children = dir2Node.getChildrenList(null); assertEquals(1, dir2Children.size()); assertEquals(dir2file.getName(), dir2Children.get(0).getLocalName()); @@ -1331,7 +1327,7 @@ public class TestRenameWithSnapshots { INodeDirectory dir2 = fsdir.getINode4Write(sdir2.toString()).asDirectory(); INodeDirectory mockDir2 = spy(dir2); doReturn(false).when(mockDir2).addChild((INode) anyObject(), anyBoolean(), - (Snapshot) anyObject(), (INodeMap) anyObject()); + (Snapshot) anyObject()); INodeDirectory root = fsdir.getINode4Write("/").asDirectory(); root.replaceChild(dir2, mockDir2, fsdir.getINodeMap()); @@ -1366,7 +1362,7 @@ public class TestRenameWithSnapshots { assertFalse(hdfs.exists(newfoo)); INodeDirectory dir2Node = fsdir.getINode4Write(sdir2.toString()) .asDirectory(); - assertFalse(dir2Node instanceof INodeDirectoryWithSnapshot); + assertFalse(dir2Node.isWithSnapshot()); ReadOnlyList<INode> dir2Children = dir2Node.getChildrenList(null); assertEquals(1, dir2Children.size()); assertEquals(dir2file.getName(), dir2Children.get(0).getLocalName()); @@ -1393,7 +1389,7 @@ public class TestRenameWithSnapshots { INodeDirectory dir3 = fsdir.getINode4Write(sdir3.toString()).asDirectory(); INodeDirectory mockDir3 = spy(dir3); doReturn(false).when(mockDir3).addChild((INode) anyObject(), anyBoolean(), - (Snapshot) anyObject(), (INodeMap) anyObject()); + (Snapshot) anyObject()); INodeDirectory root = fsdir.getINode4Write("/").asDirectory(); root.replaceChild(dir3, mockDir3, fsdir.getINodeMap()); @@ -1420,8 +1416,7 @@ public class TestRenameWithSnapshots { INode fooNode = fsdir.getINode4Write(foo_dir2.toString()); assertTrue(childrenDiff.getList(ListType.CREATED).get(0) == fooNode); assertTrue(fooNode instanceof INodeReference.DstReference); - List<DirectoryDiff> fooDiffs = ((INodeDirectoryWithSnapshot) fooNode - .asDirectory()).getDiffs().asList(); + List<DirectoryDiff> fooDiffs = fooNode.asDirectory().getDiffs().asList(); assertEquals(1, fooDiffs.size()); assertEquals("s1", fooDiffs.get(0).snapshot.getRoot().getLocalName()); @@ -1455,8 +1450,7 @@ public class TestRenameWithSnapshots { assertTrue(hdfs.exists(foo_s3)); assertTrue(fooNode instanceof INodeReference.DstReference); - fooDiffs = ((INodeDirectoryWithSnapshot) fooNode.asDirectory()).getDiffs() - .asList(); + fooDiffs = fooNode.asDirectory().getDiffs().asList(); assertEquals(2, fooDiffs.size()); assertEquals("s1", fooDiffs.get(0).snapshot.getRoot().getLocalName()); assertEquals("s3", fooDiffs.get(1).snapshot.getRoot().getLocalName()); @@ -1495,10 +1489,9 @@ public class TestRenameWithSnapshots { INodeDirectory mockDir3 = spy(dir3); // fail the rename but succeed in undo doReturn(false).when(mockDir3).addChild((INode) Mockito.isNull(), - anyBoolean(), (Snapshot) anyObject(), (INodeMap) anyObject()); - Mockito.when(mockDir3.addChild((INode) Mockito.isNotNull(), - anyBoolean(), (Snapshot) anyObject(), - (INodeMap) anyObject())).thenReturn(false).thenCallRealMethod(); + anyBoolean(), (Snapshot) anyObject()); + Mockito.when(mockDir3.addChild((INode) Mockito.isNotNull(), anyBoolean(), + (Snapshot) anyObject())).thenReturn(false).thenCallRealMethod(); INodeDirectory root = fsdir.getINode4Write("/").asDirectory(); root.replaceChild(dir3, mockDir3, fsdir.getINodeMap()); foo3Node.setParent(mockDir3); @@ -1561,7 +1554,7 @@ public class TestRenameWithSnapshots { .getChildrenList(null)); assertEquals(1, childrenList.size()); INode fooNode = childrenList.get(0); - assertTrue(fooNode.getClass() == INodeDirectoryWithSnapshot.class); + assertTrue(fooNode.asDirectory().isWithSnapshot()); INode barNode = fsdir.getINode4Write(bar.toString()); assertTrue(barNode.getClass() == INodeFile.class); assertSame(fooNode, barNode.getParent()); @@ -1637,7 +1630,7 @@ public class TestRenameWithSnapshots { .getChildrenList(null)); assertEquals(1, childrenList.size()); INode fooNode = childrenList.get(0); - assertTrue(fooNode.getClass() == INodeDirectoryWithSnapshot.class); + assertTrue(fooNode.asDirectory().isWithSnapshot()); assertSame(dir1Node, fooNode.getParent()); List<DirectoryDiff> diffList = ((INodeDirectorySnapshottable) dir1Node) .getDiffs().asList(); @@ -1656,7 +1649,7 @@ public class TestRenameWithSnapshots { .getChildrenList(null)); assertEquals(1, childrenList.size()); INode subdir2Node = childrenList.get(0); - assertTrue(subdir2Node.getClass() == INodeDirectoryWithSnapshot.class); + assertTrue(subdir2Node.asDirectory().isWithSnapshot()); assertSame(dir2Node, subdir2Node.getParent()); assertSame(subdir2Node, fsdir.getINode4Write(sub_dir2.toString())); INode subsubdir2Node = fsdir.getINode4Write(subsub_dir2.toString()); @@ -1669,7 +1662,7 @@ public class TestRenameWithSnapshots { assertTrue(diff.getChildrenDiff().getList(ListType.CREATED).isEmpty()); assertTrue(diff.getChildrenDiff().getList(ListType.DELETED).isEmpty()); - diffList = ((INodeDirectoryWithSnapshot) subdir2Node).getDiffs().asList(); + diffList = subdir2Node.asDirectory().getDiffs().asList(); assertEquals(0, diffList.size()); } @@ -1697,8 +1690,7 @@ public class TestRenameWithSnapshots { } // check - INodeDirectoryWithSnapshot fooNode = (INodeDirectoryWithSnapshot) fsdir - .getINode4Write(foo.toString()); + INodeDirectory fooNode = fsdir.getINode4Write(foo.toString()).asDirectory(); ReadOnlyList<INode> children = fooNode.getChildrenList(null); assertEquals(1, children.size()); List<DirectoryDiff> diffList = fooNode.getDiffs().asList(); @@ -1948,8 +1940,7 @@ public class TestRenameWithSnapshots { INodeReference.WithCount wc = (WithCount) fooRef.asReference().getReferredINode(); assertEquals(1, wc.getReferenceCount()); - INodeDirectoryWithSnapshot fooNode = - (INodeDirectoryWithSnapshot) wc.getReferredINode().asDirectory(); + INodeDirectory fooNode = wc.getReferredINode().asDirectory(); ReadOnlyList<INode> children = fooNode.getChildrenList(null); assertEquals(1, children.size()); assertEquals(bar.getName(), children.get(0).getLocalName()); @@ -2017,8 +2008,7 @@ public class TestRenameWithSnapshots { INodeReference.WithCount wc = (WithCount) fooRef.asReference().getReferredINode(); assertEquals(2, wc.getReferenceCount()); - INodeDirectoryWithSnapshot fooNode = - (INodeDirectoryWithSnapshot) wc.getReferredINode().asDirectory(); + INodeDirectory fooNode = wc.getReferredINode().asDirectory(); ReadOnlyList<INode> children = fooNode.getChildrenList(null); assertEquals(3, children.size()); assertEquals(bar.getName(), children.get(0).getLocalName()); @@ -2044,9 +2034,9 @@ public class TestRenameWithSnapshots { /** * This test demonstrates that - * {@link INodeDirectoryWithSnapshot#removeChild(INode, Snapshot, INodeMap)} + * {@link INodeDirectory#removeChild(INode, Snapshot)} * and - * {@link INodeDirectoryWithSnapshot#addChild(INode, boolean, Snapshot, INodeMap)} + * {@link INodeDirectory#addChild(INode, boolean, Snapshot)} * should use {@link INode#isInLatestSnapshot(Snapshot)} to check if the * added/removed child should be recorded in snapshots. */ @@ -2063,7 +2053,7 @@ public class TestRenameWithSnapshots { hdfs.mkdirs(foo); SnapshotTestHelper.createSnapshot(hdfs, dir1, "s1"); final Path bar = new Path(foo, "bar"); - // create file bar, and foo will become an INodeDirectoryWithSnapshot + // create file bar, and foo will become an INodeDirectory with snapshot DFSTestUtil.createFile(hdfs, bar, BLOCKSIZE, REPL, SEED); // delete snapshot s1. now foo is not in any snapshot hdfs.deleteSnapshot(dir1, "s1"); @@ -2079,7 +2069,7 @@ public class TestRenameWithSnapshots { // delete /dir2/foo. Since it is not in any snapshot, we will call its // destroy function. If we do not use isInLatestSnapshot in removeChild and - // addChild methods in INodeDirectoryWithSnapshot, the file bar will be + // addChild methods in INodeDirectory (with snapshot), the file bar will be // stored in the deleted list of foo, and will be destroyed. hdfs.delete(foo2, true); @@ -2130,8 +2120,8 @@ public class TestRenameWithSnapshots { // check the internal assertFalse("after deleting s0, " + foo_s0 + " should not exist", hdfs.exists(foo_s0)); - INodeDirectoryWithSnapshot dir2Node = (INodeDirectoryWithSnapshot) fsdir - .getINode4Write(dir2.toString()); + INodeDirectory dir2Node = fsdir.getINode4Write(dir2.toString()) + .asDirectory(); assertTrue("the diff list of " + dir2 + " should be empty after deleting s0", dir2Node.getDiffs().asList() .isEmpty()); @@ -2140,16 +2130,14 @@ public class TestRenameWithSnapshots { INode fooRefNode = fsdir.getINode4Write(newfoo.toString()); assertTrue(fooRefNode instanceof INodeReference.DstReference); INodeDirectory fooNode = fooRefNode.asDirectory(); - // fooNode should be still INodeDirectoryWithSnapshot since we call + // fooNode should be still INodeDirectory (With Snapshot) since we call // recordModification before the rename - assertTrue(fooNode instanceof INodeDirectoryWithSnapshot); - assertTrue(((INodeDirectoryWithSnapshot) fooNode).getDiffs().asList() - .isEmpty()); + assertTrue(fooNode.isWithSnapshot()); + assertTrue(fooNode.getDiffs().asList().isEmpty()); INodeDirectory barNode = fooNode.getChildrenList(null).get(0).asDirectory(); - // bar should also be an INodeDirectoryWithSnapshot, and both of its diff + // bar should also be INodeDirectory (With Snapshot), and both of its diff // list and children list are empty - assertTrue(((INodeDirectoryWithSnapshot) barNode).getDiffs().asList() - .isEmpty()); + assertTrue(barNode.getDiffs().asList().isEmpty()); assertTrue(barNode.getChildrenList(null).isEmpty()); restartClusterAndCheckImage(true); @@ -2199,8 +2187,8 @@ public class TestRenameWithSnapshots { assertTrue(hdfs.exists(file_s0)); // check dir1: foo should be in the created list of s0 - INodeDirectoryWithSnapshot dir1Node = (INodeDirectoryWithSnapshot) fsdir - .getINode4Write(dir1.toString()); + INodeDirectory dir1Node = fsdir.getINode4Write(dir1.toString()) + .asDirectory(); List<DirectoryDiff> dir1DiffList = dir1Node.getDiffs().asList(); assertEquals(1, dir1DiffList.size()); List<INode> dList = dir1DiffList.get(0).getChildrenDiff() @@ -2215,8 +2203,8 @@ public class TestRenameWithSnapshots { // check foo and its subtree final Path newbar = new Path(newfoo, bar.getName()); - INodeDirectoryWithSnapshot barNode = (INodeDirectoryWithSnapshot) fsdir - .getINode4Write(newbar.toString()); + INodeDirectory barNode = fsdir.getINode4Write(newbar.toString()) + .asDirectory(); assertSame(fooNode.asDirectory(), barNode.getParent()); // bar should only have a snapshot diff for s0 List<DirectoryDiff> barDiffList = barNode.getDiffs().asList(); @@ -2229,8 +2217,8 @@ public class TestRenameWithSnapshots { // check dir2: a WithName instance for foo should be in the deleted list // of the snapshot diff for s2 - INodeDirectoryWithSnapshot dir2Node = (INodeDirectoryWithSnapshot) fsdir - .getINode4Write(dir2.toString()); + INodeDirectory dir2Node = fsdir.getINode4Write(dir2.toString()) + .asDirectory(); List<DirectoryDiff> dir2DiffList = dir2Node.getDiffs().asList(); // dir2Node should contain 2 snapshot diffs, one for s2, and the other was // originally s1 (created when dir2 was transformed to a snapshottable dir), @@ -2287,8 +2275,7 @@ public class TestRenameWithSnapshots { // make sure the file under bar is deleted final Path barInS0 = SnapshotTestHelper.getSnapshotPath(test, "s0", "foo/bar"); - INodeDirectoryWithSnapshot barNode = (INodeDirectoryWithSnapshot) fsdir - .getINode(barInS0.toString()); + INodeDirectory barNode = fsdir.getINode(barInS0.toString()).asDirectory(); assertEquals(0, barNode.getChildrenList(null).size()); List<DirectoryDiff> diffList = barNode.getDiffs().asList(); assertEquals(1, diffList.size());
Modified: hadoop/common/branches/HDFS-5535/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestSetQuotaWithSnapshot.java URL: http://svn.apache.org/viewvc/hadoop/common/branches/HDFS-5535/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestSetQuotaWithSnapshot.java?rev=1555021&r1=1555020&r2=1555021&view=diff ============================================================================== --- hadoop/common/branches/HDFS-5535/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestSetQuotaWithSnapshot.java (original) +++ hadoop/common/branches/HDFS-5535/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestSetQuotaWithSnapshot.java Fri Jan 3 07:26:52 2014 @@ -36,7 +36,7 @@ import org.apache.hadoop.hdfs.server.nam import org.apache.hadoop.hdfs.server.namenode.FSNamesystem; import org.apache.hadoop.hdfs.server.namenode.INode; import org.apache.hadoop.hdfs.server.namenode.INodeDirectory; -import org.apache.hadoop.hdfs.server.namenode.snapshot.INodeDirectoryWithSnapshot.DirectoryDiff; +import org.apache.hadoop.hdfs.server.namenode.snapshot.DirectoryWithSnapshotFeature.DirectoryDiff; import org.apache.hadoop.hdfs.util.Diff.ListType; import org.junit.After; import org.junit.Before; @@ -92,12 +92,12 @@ public class TestSetQuotaWithSnapshot { INodeDirectory subNode = INodeDirectory.valueOf( fsdir.getINode(sub.toString()), sub); // subNode should be a INodeDirectory, but not an INodeDirectoryWithSnapshot - assertFalse(subNode instanceof INodeDirectoryWithSnapshot); + assertFalse(subNode.isWithSnapshot()); hdfs.setQuota(sub, Long.MAX_VALUE - 1, Long.MAX_VALUE - 1); subNode = INodeDirectory.valueOf(fsdir.getINode(sub.toString()), sub); assertTrue(subNode.isQuotaSet()); - assertFalse(subNode instanceof INodeDirectoryWithSnapshot); + assertFalse(subNode.isWithSnapshot()); } /** @@ -150,8 +150,8 @@ public class TestSetQuotaWithSnapshot { DFSTestUtil.createFile(hdfs, file, BLOCKSIZE, REPLICATION, seed); hdfs.setQuota(dir, HdfsConstants.QUOTA_RESET, HdfsConstants.QUOTA_RESET); INode subNode = fsdir.getINode4Write(subDir.toString()); - assertTrue(subNode instanceof INodeDirectoryWithSnapshot); - List<DirectoryDiff> diffList = ((INodeDirectoryWithSnapshot) subNode).getDiffs().asList(); + assertTrue(subNode.asDirectory().isWithSnapshot()); + List<DirectoryDiff> diffList = subNode.asDirectory().getDiffs().asList(); assertEquals(1, diffList.size()); assertEquals("s2", Snapshot.getSnapshotName(diffList.get(0).snapshot)); List<INode> createdList = diffList.get(0).getChildrenDiff().getList(ListType.CREATED); Modified: hadoop/common/branches/HDFS-5535/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestSnapshotDeletion.java URL: http://svn.apache.org/viewvc/hadoop/common/branches/HDFS-5535/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestSnapshotDeletion.java?rev=1555021&r1=1555020&r2=1555021&view=diff ============================================================================== --- hadoop/common/branches/HDFS-5535/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestSnapshotDeletion.java (original) +++ hadoop/common/branches/HDFS-5535/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestSnapshotDeletion.java Fri Jan 3 07:26:52 2014 @@ -51,7 +51,7 @@ import org.apache.hadoop.hdfs.server.nam import org.apache.hadoop.hdfs.server.namenode.NameNodeAdapter; import org.apache.hadoop.hdfs.server.namenode.Quota; import org.apache.hadoop.hdfs.server.namenode.ha.HATestUtil; -import org.apache.hadoop.hdfs.server.namenode.snapshot.INodeDirectoryWithSnapshot.DirectoryDiffList; +import org.apache.hadoop.hdfs.server.namenode.snapshot.DirectoryWithSnapshotFeature.DirectoryDiffList; import org.apache.hadoop.hdfs.util.ReadOnlyList; import org.apache.hadoop.io.IOUtils; import org.apache.hadoop.ipc.RemoteException; @@ -311,9 +311,9 @@ public class TestSnapshotDeletion { // make sure the whole subtree of sub is stored correctly in snapshot Path snapshotSub = SnapshotTestHelper.getSnapshotPath(dir, "s1", sub.getName()); - INodeDirectoryWithSnapshot snapshotNode4Sub = - (INodeDirectoryWithSnapshot) fsdir.getINode(snapshotSub.toString()); - assertEquals(INodeDirectoryWithSnapshot.class, snapshotNode4Sub.getClass()); + INodeDirectory snapshotNode4Sub = fsdir.getINode(snapshotSub.toString()) + .asDirectory(); + assertTrue(snapshotNode4Sub.isWithSnapshot()); // the snapshot copy of sub has only one child subsub. // newFile should have been destroyed assertEquals(1, snapshotNode4Sub.getChildrenList(null).size()); @@ -323,8 +323,7 @@ public class TestSnapshotDeletion { // check the snapshot copy of subsub, which is contained in the subtree of // sub's snapshot copy INode snapshotNode4Subsub = snapshotNode4Sub.getChildrenList(null).get(0); - assertEquals(INodeDirectoryWithSnapshot.class, - snapshotNode4Subsub.getClass()); + assertTrue(snapshotNode4Subsub.asDirectory().isWithSnapshot()); assertTrue(snapshotNode4Sub == snapshotNode4Subsub.getParent()); // check the children of subsub INodeDirectory snapshotSubsubDir = (INodeDirectory) snapshotNode4Subsub; @@ -478,8 +477,8 @@ public class TestSnapshotDeletion { DirectoryDiffList diffList = dirNode.getDiffs(); assertEquals(1, diffList.asList().size()); assertEquals("s1", diffList.getLast().snapshot.getRoot().getLocalName()); - diffList = ((INodeDirectoryWithSnapshot) fsdir.getINode( - metaChangeDir.toString())).getDiffs(); + diffList = fsdir.getINode(metaChangeDir.toString()).asDirectory() + .getDiffs(); assertEquals(0, diffList.asList().size()); // check 2. noChangeDir and noChangeFile are still there Modified: hadoop/common/branches/HDFS-5535/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestSnapshotRename.java URL: http://svn.apache.org/viewvc/hadoop/common/branches/HDFS-5535/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestSnapshotRename.java?rev=1555021&r1=1555020&r2=1555021&view=diff ============================================================================== --- hadoop/common/branches/HDFS-5535/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestSnapshotRename.java (original) +++ hadoop/common/branches/HDFS-5535/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestSnapshotRename.java Fri Jan 3 07:26:52 2014 @@ -37,7 +37,7 @@ import org.apache.hadoop.hdfs.protocol.H import org.apache.hadoop.hdfs.protocol.SnapshotException; import org.apache.hadoop.hdfs.server.namenode.FSDirectory; import org.apache.hadoop.hdfs.server.namenode.FSNamesystem; -import org.apache.hadoop.hdfs.server.namenode.snapshot.INodeDirectoryWithSnapshot.DirectoryDiff; +import org.apache.hadoop.hdfs.server.namenode.snapshot.DirectoryWithSnapshotFeature.DirectoryDiff; import org.apache.hadoop.hdfs.util.ReadOnlyList; import org.apache.hadoop.ipc.RemoteException; import org.apache.hadoop.test.GenericTestUtils; Modified: hadoop/common/branches/HDFS-5535/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/tools/TestGetConf.java URL: http://svn.apache.org/viewvc/hadoop/common/branches/HDFS-5535/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/tools/TestGetConf.java?rev=1555021&r1=1555020&r2=1555021&view=diff ============================================================================== --- hadoop/common/branches/HDFS-5535/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/tools/TestGetConf.java (original) +++ hadoop/common/branches/HDFS-5535/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/tools/TestGetConf.java Fri Jan 3 07:26:52 2014 @@ -33,10 +33,15 @@ import java.io.PrintStream; import java.net.InetSocketAddress; import java.util.ArrayList; import java.util.Arrays; +import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.StringTokenizer; +import org.apache.hadoop.fs.FSDataOutputStream; +import org.apache.hadoop.fs.FileSystem; +import org.apache.hadoop.fs.Path; +import org.apache.hadoop.hdfs.DFSConfigKeys; import org.apache.hadoop.hdfs.DFSUtil; import org.apache.hadoop.hdfs.DFSUtil.ConfiguredNNAddress; import org.apache.hadoop.hdfs.HdfsConfiguration; @@ -55,7 +60,7 @@ public class TestGetConf { enum TestType { NAMENODE, BACKUP, SECONDARY, NNRPCADDRESSES } - + FileSystem localFileSys; /** Setup federation nameServiceIds in the configuration */ private void setupNameServices(HdfsConfiguration conf, int nameServiceIdCount) { StringBuilder nsList = new StringBuilder(); @@ -379,4 +384,70 @@ public class TestGetConf { } } } + @Test + public void TestGetConfExcludeCommand() throws Exception{ + HdfsConfiguration conf = new HdfsConfiguration(); + // Set up the hosts/exclude files. + localFileSys = FileSystem.getLocal(conf); + Path workingDir = localFileSys.getWorkingDirectory(); + Path dir = new Path(workingDir, System.getProperty("test.build.data", "target/test/data") + "/Getconf/"); + Path hostsFile = new Path(dir, "hosts"); + Path excludeFile = new Path(dir, "exclude"); + + // Setup conf + conf.set(DFSConfigKeys.DFS_HOSTS, hostsFile.toUri().getPath()); + conf.set(DFSConfigKeys.DFS_HOSTS_EXCLUDE, excludeFile.toUri().getPath()); + writeConfigFile(hostsFile, null); + writeConfigFile(excludeFile, null); + String[] args = {"-excludeFile"}; + String ret = runTool(conf, args, true); + assertEquals(excludeFile.toUri().getPath(),ret.trim()); + cleanupFile(localFileSys, excludeFile.getParent()); + } + + @Test + public void TestGetConfIncludeCommand() throws Exception{ + HdfsConfiguration conf = new HdfsConfiguration(); + // Set up the hosts/exclude files. + localFileSys = FileSystem.getLocal(conf); + Path workingDir = localFileSys.getWorkingDirectory(); + Path dir = new Path(workingDir, System.getProperty("test.build.data", "target/test/data") + "/Getconf/"); + Path hostsFile = new Path(dir, "hosts"); + Path excludeFile = new Path(dir, "exclude"); + + // Setup conf + conf.set(DFSConfigKeys.DFS_HOSTS, hostsFile.toUri().getPath()); + conf.set(DFSConfigKeys.DFS_HOSTS_EXCLUDE, excludeFile.toUri().getPath()); + writeConfigFile(hostsFile, null); + writeConfigFile(excludeFile, null); + String[] args = {"-includeFile"}; + String ret = runTool(conf, args, true); + assertEquals(hostsFile.toUri().getPath(),ret.trim()); + cleanupFile(localFileSys, excludeFile.getParent()); + } + + private void writeConfigFile(Path name, ArrayList<String> nodes) + throws IOException { + // delete if it already exists + if (localFileSys.exists(name)) { + localFileSys.delete(name, true); + } + + FSDataOutputStream stm = localFileSys.create(name); + + if (nodes != null) { + for (Iterator<String> it = nodes.iterator(); it.hasNext();) { + String node = it.next(); + stm.writeBytes(node); + stm.writeBytes("\n"); + } + } + stm.close(); + } + + private void cleanupFile(FileSystem fileSys, Path name) throws IOException { + assertTrue(fileSys.exists(name)); + fileSys.delete(name, true); + assertTrue(!fileSys.exists(name)); + } } Modified: hadoop/common/branches/HDFS-5535/hadoop-hdfs-project/hadoop-hdfs/src/test/resources/editsStored URL: http://svn.apache.org/viewvc/hadoop/common/branches/HDFS-5535/hadoop-hdfs-project/hadoop-hdfs/src/test/resources/editsStored?rev=1555021&r1=1555020&r2=1555021&view=diff ============================================================================== Binary files - no diff available. Modified: hadoop/common/branches/HDFS-5535/hadoop-hdfs-project/hadoop-hdfs/src/test/resources/editsStored.xml URL: http://svn.apache.org/viewvc/hadoop/common/branches/HDFS-5535/hadoop-hdfs-project/hadoop-hdfs/src/test/resources/editsStored.xml?rev=1555021&r1=1555020&r2=1555021&view=diff ============================================================================== --- hadoop/common/branches/HDFS-5535/hadoop-hdfs-project/hadoop-hdfs/src/test/resources/editsStored.xml (original) +++ hadoop/common/branches/HDFS-5535/hadoop-hdfs-project/hadoop-hdfs/src/test/resources/editsStored.xml Fri Jan 3 07:26:52 2014 @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <EDITS> - <EDITS_VERSION>-48</EDITS_VERSION> + <EDITS_VERSION>-49</EDITS_VERSION> <RECORD> <OPCODE>OP_START_LOG_SEGMENT</OPCODE> <DATA> @@ -13,8 +13,8 @@ <TXID>2</TXID> <DELEGATION_KEY> <KEY_ID>1</KEY_ID> - <EXPIRY_DATE>1386314182272</EXPIRY_DATE> - <KEY>39c9f9e9c1e88712</KEY> + <EXPIRY_DATE>1389121087930</EXPIRY_DATE> + <KEY>d48b4b3e6a43707b</KEY> </DELEGATION_KEY> </DATA> </RECORD> @@ -24,8 +24,8 @@ <TXID>3</TXID> <DELEGATION_KEY> <KEY_ID>2</KEY_ID> - <EXPIRY_DATE>1386314182280</EXPIRY_DATE> - <KEY>2b35e969a178a2f6</KEY> + <EXPIRY_DATE>1389121087937</EXPIRY_DATE> + <KEY>62b6fae6bff918a9</KEY> </DELEGATION_KEY> </DATA> </RECORD> @@ -37,18 +37,18 @@ <INODEID>16386</INODEID> <PATH>/file_create_u\0001;F431</PATH> <REPLICATION>1</REPLICATION> - <MTIME>1385622983286</MTIME> - <ATIME>1385622983286</ATIME> + <MTIME>1388429889312</MTIME> + <ATIME>1388429889312</ATIME> <BLOCKSIZE>512</BLOCKSIZE> - <CLIENT_NAME>DFSClient_NONMAPREDUCE_-1208536327_1</CLIENT_NAME> + <CLIENT_NAME>DFSClient_NONMAPREDUCE_-1396063717_1</CLIENT_NAME> <CLIENT_MACHINE>127.0.0.1</CLIENT_MACHINE> <PERMISSION_STATUS> <USERNAME>andrew</USERNAME> <GROUPNAME>supergroup</GROUPNAME> <MODE>420</MODE> </PERMISSION_STATUS> - <RPC_CLIENTID>26a8071a-18f8-42ce-ad7e-75692493e45c</RPC_CLIENTID> - <RPC_CALLID>6</RPC_CALLID> + <RPC_CLIENTID>bfe81b9e-5c10-4f90-a5e1-b707da7bb781</RPC_CLIENTID> + <RPC_CALLID>7</RPC_CALLID> </DATA> </RECORD> <RECORD> @@ -59,8 +59,8 @@ <INODEID>0</INODEID> <PATH>/file_create_u\0001;F431</PATH> <REPLICATION>1</REPLICATION> - <MTIME>1385622983323</MTIME> - <ATIME>1385622983286</ATIME> + <MTIME>1388429889328</MTIME> + <ATIME>1388429889312</ATIME> <BLOCKSIZE>512</BLOCKSIZE> <CLIENT_NAME></CLIENT_NAME> <CLIENT_MACHINE></CLIENT_MACHINE> @@ -78,9 +78,9 @@ <LENGTH>0</LENGTH> <SRC>/file_create_u\0001;F431</SRC> <DST>/file_moved</DST> - <TIMESTAMP>1385622983331</TIMESTAMP> - <RPC_CLIENTID>26a8071a-18f8-42ce-ad7e-75692493e45c</RPC_CLIENTID> - <RPC_CALLID>8</RPC_CALLID> + <TIMESTAMP>1388429889336</TIMESTAMP> + <RPC_CLIENTID>bfe81b9e-5c10-4f90-a5e1-b707da7bb781</RPC_CLIENTID> + <RPC_CALLID>9</RPC_CALLID> </DATA> </RECORD> <RECORD> @@ -89,9 +89,9 @@ <TXID>7</TXID> <LENGTH>0</LENGTH> <PATH>/file_moved</PATH> - <TIMESTAMP>1385622983340</TIMESTAMP> - <RPC_CLIENTID>26a8071a-18f8-42ce-ad7e-75692493e45c</RPC_CLIENTID> - <RPC_CALLID>9</RPC_CALLID> + <TIMESTAMP>1388429889346</TIMESTAMP> + <RPC_CLIENTID>bfe81b9e-5c10-4f90-a5e1-b707da7bb781</RPC_CLIENTID> + <RPC_CALLID>10</RPC_CALLID> </DATA> </RECORD> <RECORD> @@ -101,7 +101,7 @@ <LENGTH>0</LENGTH> <INODEID>16387</INODEID> <PATH>/directory_mkdir</PATH> - <TIMESTAMP>1385622983351</TIMESTAMP> + <TIMESTAMP>1388429889357</TIMESTAMP> <PERMISSION_STATUS> <USERNAME>andrew</USERNAME> <GROUPNAME>supergroup</GROUPNAME> @@ -136,8 +136,8 @@ <TXID>12</TXID> <SNAPSHOTROOT>/directory_mkdir</SNAPSHOTROOT> <SNAPSHOTNAME>snapshot1</SNAPSHOTNAME> - <RPC_CLIENTID>26a8071a-18f8-42ce-ad7e-75692493e45c</RPC_CLIENTID> - <RPC_CALLID>14</RPC_CALLID> + <RPC_CLIENTID>bfe81b9e-5c10-4f90-a5e1-b707da7bb781</RPC_CLIENTID> + <RPC_CALLID>15</RPC_CALLID> </DATA> </RECORD> <RECORD> @@ -147,8 +147,8 @@ <SNAPSHOTROOT>/directory_mkdir</SNAPSHOTROOT> <SNAPSHOTOLDNAME>snapshot1</SNAPSHOTOLDNAME> <SNAPSHOTNEWNAME>snapshot2</SNAPSHOTNEWNAME> - <RPC_CLIENTID>26a8071a-18f8-42ce-ad7e-75692493e45c</RPC_CLIENTID> - <RPC_CALLID>15</RPC_CALLID> + <RPC_CLIENTID>bfe81b9e-5c10-4f90-a5e1-b707da7bb781</RPC_CLIENTID> + <RPC_CALLID>16</RPC_CALLID> </DATA> </RECORD> <RECORD> @@ -157,8 +157,8 @@ <TXID>14</TXID> <SNAPSHOTROOT>/directory_mkdir</SNAPSHOTROOT> <SNAPSHOTNAME>snapshot2</SNAPSHOTNAME> - <RPC_CLIENTID>26a8071a-18f8-42ce-ad7e-75692493e45c</RPC_CLIENTID> - <RPC_CALLID>16</RPC_CALLID> + <RPC_CLIENTID>bfe81b9e-5c10-4f90-a5e1-b707da7bb781</RPC_CLIENTID> + <RPC_CALLID>17</RPC_CALLID> </DATA> </RECORD> <RECORD> @@ -169,18 +169,18 @@ <INODEID>16388</INODEID> <PATH>/file_create_u\0001;F431</PATH> <REPLICATION>1</REPLICATION> - <MTIME>1385622983397</MTIME> - <ATIME>1385622983397</ATIME> + <MTIME>1388429889412</MTIME> + <ATIME>1388429889412</ATIME> <BLOCKSIZE>512</BLOCKSIZE> - <CLIENT_NAME>DFSClient_NONMAPREDUCE_-1208536327_1</CLIENT_NAME> + <CLIENT_NAME>DFSClient_NONMAPREDUCE_-1396063717_1</CLIENT_NAME> <CLIENT_MACHINE>127.0.0.1</CLIENT_MACHINE> <PERMISSION_STATUS> <USERNAME>andrew</USERNAME> <GROUPNAME>supergroup</GROUPNAME> <MODE>420</MODE> </PERMISSION_STATUS> - <RPC_CLIENTID>26a8071a-18f8-42ce-ad7e-75692493e45c</RPC_CLIENTID> - <RPC_CALLID>17</RPC_CALLID> + <RPC_CLIENTID>bfe81b9e-5c10-4f90-a5e1-b707da7bb781</RPC_CLIENTID> + <RPC_CALLID>18</RPC_CALLID> </DATA> </RECORD> <RECORD> @@ -191,8 +191,8 @@ <INODEID>0</INODEID> <PATH>/file_create_u\0001;F431</PATH> <REPLICATION>1</REPLICATION> - <MTIME>1385622983402</MTIME> - <ATIME>1385622983397</ATIME> + <MTIME>1388429889420</MTIME> + <ATIME>1388429889412</ATIME> <BLOCKSIZE>512</BLOCKSIZE> <CLIENT_NAME></CLIENT_NAME> <CLIENT_MACHINE></CLIENT_MACHINE> @@ -253,10 +253,10 @@ <LENGTH>0</LENGTH> <SRC>/file_create_u\0001;F431</SRC> <DST>/file_moved</DST> - <TIMESTAMP>1385622983438</TIMESTAMP> + <TIMESTAMP>1388429889495</TIMESTAMP> <OPTIONS>NONE</OPTIONS> - <RPC_CLIENTID>26a8071a-18f8-42ce-ad7e-75692493e45c</RPC_CLIENTID> - <RPC_CALLID>24</RPC_CALLID> + <RPC_CLIENTID>bfe81b9e-5c10-4f90-a5e1-b707da7bb781</RPC_CLIENTID> + <RPC_CALLID>25</RPC_CALLID> </DATA> </RECORD> <RECORD> @@ -267,18 +267,18 @@ <INODEID>16389</INODEID> <PATH>/file_concat_target</PATH> <REPLICATION>1</REPLICATION> - <MTIME>1385622983445</MTIME> - <ATIME>1385622983445</ATIME> + <MTIME>1388429889511</MTIME> + <ATIME>1388429889511</ATIME> <BLOCKSIZE>512</BLOCKSIZE> - <CLIENT_NAME>DFSClient_NONMAPREDUCE_-1208536327_1</CLIENT_NAME> + <CLIENT_NAME>DFSClient_NONMAPREDUCE_-1396063717_1</CLIENT_NAME> <CLIENT_MACHINE>127.0.0.1</CLIENT_MACHINE> <PERMISSION_STATUS> <USERNAME>andrew</USERNAME> <GROUPNAME>supergroup</GROUPNAME> <MODE>420</MODE> </PERMISSION_STATUS> - <RPC_CLIENTID>26a8071a-18f8-42ce-ad7e-75692493e45c</RPC_CLIENTID> - <RPC_CALLID>26</RPC_CALLID> + <RPC_CLIENTID>bfe81b9e-5c10-4f90-a5e1-b707da7bb781</RPC_CLIENTID> + <RPC_CALLID>27</RPC_CALLID> </DATA> </RECORD> <RECORD> @@ -388,8 +388,8 @@ <INODEID>0</INODEID> <PATH>/file_concat_target</PATH> <REPLICATION>1</REPLICATION> - <MTIME>1385622983524</MTIME> - <ATIME>1385622983445</ATIME> + <MTIME>1388429889812</MTIME> + <ATIME>1388429889511</ATIME> <BLOCKSIZE>512</BLOCKSIZE> <CLIENT_NAME></CLIENT_NAME> <CLIENT_MACHINE></CLIENT_MACHINE> @@ -423,18 +423,18 @@ <INODEID>16390</INODEID> <PATH>/file_concat_0</PATH> <REPLICATION>1</REPLICATION> - <MTIME>1385622983530</MTIME> - <ATIME>1385622983530</ATIME> + <MTIME>1388429889825</MTIME> + <ATIME>1388429889825</ATIME> <BLOCKSIZE>512</BLOCKSIZE> - <CLIENT_NAME>DFSClient_NONMAPREDUCE_-1208536327_1</CLIENT_NAME> + <CLIENT_NAME>DFSClient_NONMAPREDUCE_-1396063717_1</CLIENT_NAME> <CLIENT_MACHINE>127.0.0.1</CLIENT_MACHINE> <PERMISSION_STATUS> <USERNAME>andrew</USERNAME> <GROUPNAME>supergroup</GROUPNAME> <MODE>420</MODE> </PERMISSION_STATUS> - <RPC_CLIENTID>26a8071a-18f8-42ce-ad7e-75692493e45c</RPC_CLIENTID> - <RPC_CALLID>39</RPC_CALLID> + <RPC_CLIENTID>bfe81b9e-5c10-4f90-a5e1-b707da7bb781</RPC_CLIENTID> + <RPC_CALLID>40</RPC_CALLID> </DATA> </RECORD> <RECORD> @@ -544,8 +544,8 @@ <INODEID>0</INODEID> <PATH>/file_concat_0</PATH> <REPLICATION>1</REPLICATION> - <MTIME>1385622983582</MTIME> - <ATIME>1385622983530</ATIME> + <MTIME>1388429889909</MTIME> + <ATIME>1388429889825</ATIME> <BLOCKSIZE>512</BLOCKSIZE> <CLIENT_NAME></CLIENT_NAME> <CLIENT_MACHINE></CLIENT_MACHINE> @@ -579,18 +579,18 @@ <INODEID>16391</INODEID> <PATH>/file_concat_1</PATH> <REPLICATION>1</REPLICATION> - <MTIME>1385622983593</MTIME> - <ATIME>1385622983593</ATIME> + <MTIME>1388429889920</MTIME> + <ATIME>1388429889920</ATIME> <BLOCKSIZE>512</BLOCKSIZE> - <CLIENT_NAME>DFSClient_NONMAPREDUCE_-1208536327_1</CLIENT_NAME> + <CLIENT_NAME>DFSClient_NONMAPREDUCE_-1396063717_1</CLIENT_NAME> <CLIENT_MACHINE>127.0.0.1</CLIENT_MACHINE> <PERMISSION_STATUS> <USERNAME>andrew</USERNAME> <GROUPNAME>supergroup</GROUPNAME> <MODE>420</MODE> </PERMISSION_STATUS> - <RPC_CLIENTID>26a8071a-18f8-42ce-ad7e-75692493e45c</RPC_CLIENTID> - <RPC_CALLID>51</RPC_CALLID> + <RPC_CLIENTID>bfe81b9e-5c10-4f90-a5e1-b707da7bb781</RPC_CLIENTID> + <RPC_CALLID>52</RPC_CALLID> </DATA> </RECORD> <RECORD> @@ -700,8 +700,8 @@ <INODEID>0</INODEID> <PATH>/file_concat_1</PATH> <REPLICATION>1</REPLICATION> - <MTIME>1385622983655</MTIME> - <ATIME>1385622983593</ATIME> + <MTIME>1388429890016</MTIME> + <ATIME>1388429889920</ATIME> <BLOCKSIZE>512</BLOCKSIZE> <CLIENT_NAME></CLIENT_NAME> <CLIENT_MACHINE></CLIENT_MACHINE> @@ -733,13 +733,13 @@ <TXID>56</TXID> <LENGTH>0</LENGTH> <TRG>/file_concat_target</TRG> - <TIMESTAMP>1385622983667</TIMESTAMP> + <TIMESTAMP>1388429890031</TIMESTAMP> <SOURCES> <SOURCE1>/file_concat_0</SOURCE1> <SOURCE2>/file_concat_1</SOURCE2> </SOURCES> - <RPC_CLIENTID>26a8071a-18f8-42ce-ad7e-75692493e45c</RPC_CLIENTID> - <RPC_CALLID>62</RPC_CALLID> + <RPC_CLIENTID>bfe81b9e-5c10-4f90-a5e1-b707da7bb781</RPC_CLIENTID> + <RPC_CALLID>63</RPC_CALLID> </DATA> </RECORD> <RECORD> @@ -750,15 +750,15 @@ <INODEID>16392</INODEID> <PATH>/file_symlink</PATH> <VALUE>/file_concat_target</VALUE> - <MTIME>1385622983683</MTIME> - <ATIME>1385622983683</ATIME> + <MTIME>1388429890046</MTIME> + <ATIME>1388429890046</ATIME> <PERMISSION_STATUS> <USERNAME>andrew</USERNAME> <GROUPNAME>supergroup</GROUPNAME> <MODE>511</MODE> </PERMISSION_STATUS> - <RPC_CLIENTID>26a8071a-18f8-42ce-ad7e-75692493e45c</RPC_CLIENTID> - <RPC_CALLID>63</RPC_CALLID> + <RPC_CLIENTID>bfe81b9e-5c10-4f90-a5e1-b707da7bb781</RPC_CLIENTID> + <RPC_CALLID>64</RPC_CALLID> </DATA> </RECORD> <RECORD> @@ -771,11 +771,11 @@ <OWNER>andrew</OWNER> <RENEWER>JobTracker</RENEWER> <REALUSER></REALUSER> - <ISSUE_DATE>1385622983698</ISSUE_DATE> - <MAX_DATE>1386227783698</MAX_DATE> + <ISSUE_DATE>1388429890059</ISSUE_DATE> + <MAX_DATE>1389034690059</MAX_DATE> <MASTER_KEY_ID>2</MASTER_KEY_ID> </DELEGATION_TOKEN_IDENTIFIER> - <EXPIRY_TIME>1385709383698</EXPIRY_TIME> + <EXPIRY_TIME>1388516290059</EXPIRY_TIME> </DATA> </RECORD> <RECORD> @@ -788,11 +788,11 @@ <OWNER>andrew</OWNER> <RENEWER>JobTracker</RENEWER> <REALUSER></REALUSER> - <ISSUE_DATE>1385622983698</ISSUE_DATE> - <MAX_DATE>1386227783698</MAX_DATE> + <ISSUE_DATE>1388429890059</ISSUE_DATE> + <MAX_DATE>1389034690059</MAX_DATE> <MASTER_KEY_ID>2</MASTER_KEY_ID> </DELEGATION_TOKEN_IDENTIFIER> - <EXPIRY_TIME>1385709383746</EXPIRY_TIME> + <EXPIRY_TIME>1388516290109</EXPIRY_TIME> </DATA> </RECORD> <RECORD> @@ -805,8 +805,8 @@ <OWNER>andrew</OWNER> <RENEWER>JobTracker</RENEWER> <REALUSER></REALUSER> - <ISSUE_DATE>1385622983698</ISSUE_DATE> - <MAX_DATE>1386227783698</MAX_DATE> + <ISSUE_DATE>1388429890059</ISSUE_DATE> + <MAX_DATE>1389034690059</MAX_DATE> <MASTER_KEY_ID>2</MASTER_KEY_ID> </DELEGATION_TOKEN_IDENTIFIER> </DATA> @@ -816,14 +816,13 @@ <DATA> <TXID>61</TXID> <POOLNAME>poolparty</POOLNAME> - <PERMISSION_STATUS> - <USERNAME>andrew</USERNAME> - <GROUPNAME>andrew</GROUPNAME> - <MODE>493</MODE> - </PERMISSION_STATUS> - <WEIGHT>100</WEIGHT> - <RPC_CLIENTID>26a8071a-18f8-42ce-ad7e-75692493e45c</RPC_CLIENTID> - <RPC_CALLID>67</RPC_CALLID> + <OWNERNAME>andrew</OWNERNAME> + <GROUPNAME>andrew</GROUPNAME> + <MODE>493</MODE> + <LIMIT>9223372036854775807</LIMIT> + <MAXRELATIVEEXPIRY>2305843009213693951</MAXRELATIVEEXPIRY> + <RPC_CLIENTID>bfe81b9e-5c10-4f90-a5e1-b707da7bb781</RPC_CLIENTID> + <RPC_CALLID>68</RPC_CALLID> </DATA> </RECORD> <RECORD> @@ -834,9 +833,9 @@ <OWNERNAME>carlton</OWNERNAME> <GROUPNAME>party</GROUPNAME> <MODE>448</MODE> - <WEIGHT>1989</WEIGHT> - <RPC_CLIENTID>26a8071a-18f8-42ce-ad7e-75692493e45c</RPC_CLIENTID> - <RPC_CALLID>68</RPC_CALLID> + <LIMIT>1989</LIMIT> + <RPC_CLIENTID>bfe81b9e-5c10-4f90-a5e1-b707da7bb781</RPC_CLIENTID> + <RPC_CALLID>69</RPC_CALLID> </DATA> </RECORD> <RECORD> @@ -847,9 +846,9 @@ <PATH>/bar</PATH> <REPLICATION>1</REPLICATION> <POOL>poolparty</POOL> - <EXPIRATION>-1</EXPIRATION> - <RPC_CLIENTID>26a8071a-18f8-42ce-ad7e-75692493e45c</RPC_CLIENTID> - <RPC_CALLID>69</RPC_CALLID> + <EXPIRATION>2305844397643584141</EXPIRATION> + <RPC_CLIENTID>bfe81b9e-5c10-4f90-a5e1-b707da7bb781</RPC_CLIENTID> + <RPC_CALLID>70</RPC_CALLID> </DATA> </RECORD> <RECORD> @@ -858,8 +857,8 @@ <TXID>64</TXID> <ID>1</ID> <PATH>/bar2</PATH> - <RPC_CLIENTID>26a8071a-18f8-42ce-ad7e-75692493e45c</RPC_CLIENTID> - <RPC_CALLID>70</RPC_CALLID> + <RPC_CLIENTID>bfe81b9e-5c10-4f90-a5e1-b707da7bb781</RPC_CLIENTID> + <RPC_CALLID>71</RPC_CALLID> </DATA> </RECORD> <RECORD> @@ -867,8 +866,8 @@ <DATA> <TXID>65</TXID> <ID>1</ID> - <RPC_CLIENTID>26a8071a-18f8-42ce-ad7e-75692493e45c</RPC_CLIENTID> - <RPC_CALLID>71</RPC_CALLID> + <RPC_CLIENTID>bfe81b9e-5c10-4f90-a5e1-b707da7bb781</RPC_CLIENTID> + <RPC_CALLID>72</RPC_CALLID> </DATA> </RECORD> <RECORD> @@ -876,8 +875,8 @@ <DATA> <TXID>66</TXID> <POOLNAME>poolparty</POOLNAME> - <RPC_CLIENTID>26a8071a-18f8-42ce-ad7e-75692493e45c</RPC_CLIENTID> - <RPC_CALLID>72</RPC_CALLID> + <RPC_CLIENTID>bfe81b9e-5c10-4f90-a5e1-b707da7bb781</RPC_CLIENTID> + <RPC_CALLID>73</RPC_CALLID> </DATA> </RECORD> <RECORD> @@ -888,18 +887,18 @@ <INODEID>16393</INODEID> <PATH>/hard-lease-recovery-test</PATH> <REPLICATION>1</REPLICATION> - <MTIME>1385622983896</MTIME> - <ATIME>1385622983896</ATIME> + <MTIME>1388429890261</MTIME> + <ATIME>1388429890261</ATIME> <BLOCKSIZE>512</BLOCKSIZE> - <CLIENT_NAME>DFSClient_NONMAPREDUCE_-1208536327_1</CLIENT_NAME> + <CLIENT_NAME>DFSClient_NONMAPREDUCE_-1396063717_1</CLIENT_NAME> <CLIENT_MACHINE>127.0.0.1</CLIENT_MACHINE> <PERMISSION_STATUS> <USERNAME>andrew</USERNAME> <GROUPNAME>supergroup</GROUPNAME> <MODE>420</MODE> </PERMISSION_STATUS> - <RPC_CLIENTID>26a8071a-18f8-42ce-ad7e-75692493e45c</RPC_CLIENTID> - <RPC_CALLID>73</RPC_CALLID> + <RPC_CLIENTID>bfe81b9e-5c10-4f90-a5e1-b707da7bb781</RPC_CLIENTID> + <RPC_CALLID>74</RPC_CALLID> </DATA> </RECORD> <RECORD> @@ -955,28 +954,44 @@ <OPCODE>OP_REASSIGN_LEASE</OPCODE> <DATA> <TXID>73</TXID> - <LEASEHOLDER>DFSClient_NONMAPREDUCE_-1208536327_1</LEASEHOLDER> + <LEASEHOLDER>DFSClient_NONMAPREDUCE_-1396063717_1</LEASEHOLDER> <PATH>/hard-lease-recovery-test</PATH> <NEWHOLDER>HDFS_NameNode</NEWHOLDER> </DATA> </RECORD> <RECORD> - <OPCODE>OP_CLOSE</OPCODE> + <OPCODE>OP_SET_GENSTAMP_V2</OPCODE> <DATA> <TXID>74</TXID> + <GENSTAMPV2>1012</GENSTAMPV2> + </DATA> + </RECORD> + <RECORD> + <OPCODE>OP_REASSIGN_LEASE</OPCODE> + <DATA> + <TXID>75</TXID> + <LEASEHOLDER>HDFS_NameNode</LEASEHOLDER> + <PATH>/hard-lease-recovery-test</PATH> + <NEWHOLDER>HDFS_NameNode</NEWHOLDER> + </DATA> + </RECORD> + <RECORD> + <OPCODE>OP_CLOSE</OPCODE> + <DATA> + <TXID>76</TXID> <LENGTH>0</LENGTH> <INODEID>0</INODEID> <PATH>/hard-lease-recovery-test</PATH> <REPLICATION>1</REPLICATION> - <MTIME>1385622986265</MTIME> - <ATIME>1385622983896</ATIME> + <MTIME>1388429895216</MTIME> + <ATIME>1388429890261</ATIME> <BLOCKSIZE>512</BLOCKSIZE> <CLIENT_NAME></CLIENT_NAME> <CLIENT_MACHINE></CLIENT_MACHINE> <BLOCK> <BLOCK_ID>1073741834</BLOCK_ID> <NUM_BYTES>11</NUM_BYTES> - <GENSTAMP>1011</GENSTAMP> + <GENSTAMP>1012</GENSTAMP> </BLOCK> <PERMISSION_STATUS> <USERNAME>andrew</USERNAME> @@ -988,7 +1003,7 @@ <RECORD> <OPCODE>OP_END_LOG_SEGMENT</OPCODE> <DATA> - <TXID>75</TXID> + <TXID>77</TXID> </DATA> </RECORD> </EDITS> Modified: hadoop/common/branches/HDFS-5535/hadoop-hdfs-project/hadoop-hdfs/src/test/resources/testCacheAdminConf.xml URL: http://svn.apache.org/viewvc/hadoop/common/branches/HDFS-5535/hadoop-hdfs-project/hadoop-hdfs/src/test/resources/testCacheAdminConf.xml?rev=1555021&r1=1555020&r2=1555021&view=diff ============================================================================== --- hadoop/common/branches/HDFS-5535/hadoop-hdfs-project/hadoop-hdfs/src/test/resources/testCacheAdminConf.xml (original) +++ hadoop/common/branches/HDFS-5535/hadoop-hdfs-project/hadoop-hdfs/src/test/resources/testCacheAdminConf.xml Fri Jan 3 07:26:52 2014 @@ -80,8 +80,8 @@ <test> <!--Tested --> <description>Testing modifying a cache pool</description> <test-commands> - <cache-admin-command>-addPool poolparty -owner alice -group alicegroup -mode 0000 -weight 50</cache-admin-command> - <cache-admin-command>-modifyPool poolparty -owner bob -group bobgroup -mode 0777 -weight 51</cache-admin-command> + <cache-admin-command>-addPool poolparty -owner alice -group alicegroup -mode 0000 -limit 50</cache-admin-command> + <cache-admin-command>-modifyPool poolparty -owner bob -group bobgroup -mode 0777 -limit 51</cache-admin-command> <cache-admin-command>-listPools</cache-admin-command> </test-commands> <cleanup-commands> @@ -90,7 +90,7 @@ <comparators> <comparator> <type>SubstringComparator</type> - <expected-output>poolparty bob bobgroup rwxrwxrwx 51</expected-output> + <expected-output>poolparty bob bobgroup rwxrwxrwx 51</expected-output> </comparator> </comparators> </test> @@ -129,11 +129,11 @@ </comparator> <comparator> <type>SubstringComparator</type> - <expected-output>bar alice alicegroup rwxr-xr-x 100</expected-output> + <expected-output>bar alice alicegroup rwxr-xr-x unlimited</expected-output> </comparator> <comparator> <type>SubstringComparator</type> - <expected-output>foo bob bob rw-rw-r-- 100</expected-output> + <expected-output>foo bob bob rw-rw-r-- unlimited</expected-output> </comparator> </comparators> </test> @@ -156,7 +156,7 @@ </comparator> <comparator> <type>SubstringComparator</type> - <expected-output>foo bob bob rw-rw-r-- 100</expected-output> + <expected-output>foo bob bob rw-rw-r-- unlimited</expected-output> </comparator> </comparators> </test> @@ -417,11 +417,11 @@ </comparator> <comparator> <type>SubstringComparator</type> - <expected-output>bar alice alicegroup rwxr-xr-x 100 0 0 0 0</expected-output> + <expected-output>bar alice alicegroup rwxr-xr-x unlimited never 0 0 0 0 0</expected-output> </comparator> <comparator> <type>SubstringComparator</type> - <expected-output>foo bob bob rw-rw-r-- 100 0 0 0 0</expected-output> + <expected-output>foo bob bob rw-rw-r-- unlimited never 0 0 0 0 0</expected-output> </comparator> </comparators> </test> @@ -457,5 +457,37 @@ </comparator> </comparators> </test> + + <test> <!--Tested --> + <description>Testing pool max ttl settings</description> + <test-commands> + <cache-admin-command>-addPool pool1 -owner andrew -group andrew</cache-admin-command> + <cache-admin-command>-addPool pool2 -owner andrew -group andrew -maxTtl 999d</cache-admin-command> + <cache-admin-command>-modifyPool pool2 -maxTtl never</cache-admin-command> + <cache-admin-command>-addPool pool3 -owner andrew -group andrew -maxTtl 4h</cache-admin-command> + <cache-admin-command>-listPools</cache-admin-command> + </test-commands> + <cleanup-commands> + <cache-admin-command>-removePool pool1</cache-admin-command> + </cleanup-commands> + <comparators> + <comparator> + <type>SubstringComparator</type> + <expected-output>Found 3 results</expected-output> + </comparator> + <comparator> + <type>SubstringComparator</type> + <expected-output>pool1 andrew andrew rwxr-xr-x unlimited never</expected-output> + </comparator> + <comparator> + <type>SubstringComparator</type> + <expected-output>pool2 andrew andrew rwxr-xr-x unlimited never</expected-output> + </comparator> + <comparator> + <type>SubstringComparator</type> + <expected-output>pool3 andrew andrew rwxr-xr-x unlimited 000:04:00:00.000</expected-output> + </comparator> + </comparators> + </test> </tests> </configuration>