Modified: hadoop/common/trunk/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/trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestRenameWithSnapshots.java?rev=1608631&r1=1608630&r2=1608631&view=diff ============================================================================== --- hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestRenameWithSnapshots.java (original) +++ hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestRenameWithSnapshots.java Tue Jul 8 00:08:18 2014 @@ -402,8 +402,7 @@ public class TestRenameWithSnapshots { final Path foo_s3 = SnapshotTestHelper.getSnapshotPath(sdir1, "s3", "foo"); assertFalse(hdfs.exists(foo_s3)); - INodeDirectorySnapshottable sdir2Node = - (INodeDirectorySnapshottable) fsdir.getINode(sdir2.toString()); + INodeDirectory sdir2Node = fsdir.getINode(sdir2.toString()).asDirectory(); Snapshot s2 = sdir2Node.getSnapshot(DFSUtil.string2Bytes("s2")); INodeFile sfoo = fsdir.getINode(newfoo.toString()).asFile(); assertEquals(s2.getId(), sfoo.getDiffs().getLastSnapshotId()); @@ -606,8 +605,7 @@ public class TestRenameWithSnapshots { INodeFile snode = fsdir.getINode(newfoo.toString()).asFile(); assertEquals(1, snode.getDiffs().asList().size()); - INodeDirectorySnapshottable sdir2Node = - (INodeDirectorySnapshottable) fsdir.getINode(sdir2.toString()); + INodeDirectory sdir2Node = fsdir.getINode(sdir2.toString()).asDirectory(); Snapshot s2 = sdir2Node.getSnapshot(DFSUtil.string2Bytes("s2")); assertEquals(s2.getId(), snode.getDiffs().getLastSnapshotId()); @@ -762,8 +760,7 @@ public class TestRenameWithSnapshots { assertEquals(2, fooWithCount.getReferenceCount()); INodeDirectory foo = fooWithCount.asDirectory(); assertEquals(1, foo.getDiffs().asList().size()); - INodeDirectorySnapshottable sdir1Node = - (INodeDirectorySnapshottable) fsdir.getINode(sdir1.toString()); + INodeDirectory sdir1Node = fsdir.getINode(sdir1.toString()).asDirectory(); Snapshot s1 = sdir1Node.getSnapshot(DFSUtil.string2Bytes("s1")); assertEquals(s1.getId(), foo.getDirectoryWithSnapshotFeature() .getLastSnapshotId()); @@ -972,12 +969,9 @@ public class TestRenameWithSnapshots { hdfs.rename(bar_dir2, bar_dir1); // check the internal details - INodeDirectorySnapshottable sdir1Node = - (INodeDirectorySnapshottable) fsdir.getINode(sdir1.toString()); - INodeDirectorySnapshottable sdir2Node = - (INodeDirectorySnapshottable) fsdir.getINode(sdir2.toString()); - INodeDirectorySnapshottable sdir3Node = - (INodeDirectorySnapshottable) fsdir.getINode(sdir3.toString()); + INodeDirectory sdir1Node = fsdir.getINode(sdir1.toString()).asDirectory(); + INodeDirectory sdir2Node = fsdir.getINode(sdir2.toString()).asDirectory(); + INodeDirectory sdir3Node = fsdir.getINode(sdir3.toString()).asDirectory(); INodeReference fooRef = fsdir.getINode4Write(foo_dir1.toString()) .asReference(); @@ -1182,8 +1176,7 @@ public class TestRenameWithSnapshots { assertTrue(hdfs.exists(bar_s2)); // check internal details - INodeDirectorySnapshottable sdir2Node = - (INodeDirectorySnapshottable) fsdir.getINode(sdir2.toString()); + INodeDirectory sdir2Node = fsdir.getINode(sdir2.toString()).asDirectory(); Snapshot s2 = sdir2Node.getSnapshot(DFSUtil.string2Bytes("s2")); final Path foo_s2 = SnapshotTestHelper.getSnapshotPath(sdir2, "s2", "foo"); INodeReference fooRef = fsdir.getINode(foo_s2.toString()).asReference(); @@ -1290,8 +1283,8 @@ public class TestRenameWithSnapshots { assertFalse(result); // check the current internal details - INodeDirectorySnapshottable dir1Node = (INodeDirectorySnapshottable) fsdir - .getINode4Write(sdir1.toString()); + INodeDirectory dir1Node = fsdir.getINode4Write(sdir1.toString()) + .asDirectory(); Snapshot s1 = dir1Node.getSnapshot(DFSUtil.string2Bytes("s1")); ReadOnlyList<INode> dir1Children = dir1Node .getChildrenList(Snapshot.CURRENT_STATE_ID); @@ -1360,8 +1353,8 @@ public class TestRenameWithSnapshots { assertFalse(result); // check the current internal details - INodeDirectorySnapshottable dir1Node = (INodeDirectorySnapshottable) fsdir - .getINode4Write(sdir1.toString()); + INodeDirectory dir1Node = fsdir.getINode4Write(sdir1.toString()) + .asDirectory(); Snapshot s1 = dir1Node.getSnapshot(DFSUtil.string2Bytes("s1")); ReadOnlyList<INode> dir1Children = dir1Node .getChildrenList(Snapshot.CURRENT_STATE_ID); @@ -1427,11 +1420,11 @@ public class TestRenameWithSnapshots { assertFalse(result); // check the current internal details - INodeDirectorySnapshottable dir1Node = (INodeDirectorySnapshottable) fsdir - .getINode4Write(sdir1.toString()); + INodeDirectory dir1Node = fsdir.getINode4Write(sdir1.toString()) + .asDirectory(); Snapshot s1 = dir1Node.getSnapshot(DFSUtil.string2Bytes("s1")); - INodeDirectorySnapshottable dir2Node = (INodeDirectorySnapshottable) fsdir - .getINode4Write(sdir2.toString()); + INodeDirectory dir2Node = fsdir.getINode4Write(sdir2.toString()) + .asDirectory(); Snapshot s2 = dir2Node.getSnapshot(DFSUtil.string2Bytes("s2")); ReadOnlyList<INode> dir2Children = dir2Node .getChildrenList(Snapshot.CURRENT_STATE_ID); @@ -1458,8 +1451,7 @@ public class TestRenameWithSnapshots { assertFalse(result); // check internal details again - dir2Node = (INodeDirectorySnapshottable) fsdir.getINode4Write(sdir2 - .toString()); + dir2Node = fsdir.getINode4Write(sdir2.toString()).asDirectory(); Snapshot s3 = dir2Node.getSnapshot(DFSUtil.string2Bytes("s3")); fooNode = fsdir.getINode4Write(foo_dir2.toString()); dir2Children = dir2Node.getChildrenList(Snapshot.CURRENT_STATE_ID); @@ -1599,8 +1591,8 @@ public class TestRenameWithSnapshots { assertTrue(diff.getChildrenDiff().getList(ListType.DELETED).isEmpty()); // check dir2 - INode dir2Node = fsdir.getINode4Write(dir2.toString()); - assertTrue(dir2Node.getClass() == INodeDirectorySnapshottable.class); + INodeDirectory dir2Node = fsdir.getINode4Write(dir2.toString()).asDirectory(); + assertTrue(dir2Node.isSnapshottable()); Quota.Counts counts = dir2Node.computeQuotaUsage(); assertEquals(3, counts.get(Quota.NAMESPACE)); assertEquals(0, counts.get(Quota.DISKSPACE)); @@ -1610,8 +1602,7 @@ public class TestRenameWithSnapshots { INode subdir2Node = childrenList.get(0); assertSame(dir2Node, subdir2Node.getParent()); assertSame(subdir2Node, fsdir.getINode4Write(subdir2.toString())); - diffList = ((INodeDirectorySnapshottable) dir2Node) - .getDiffs().asList(); + diffList = dir2Node.getDiffs().asList(); assertEquals(1, diffList.size()); diff = diffList.get(0); assertTrue(diff.getChildrenDiff().getList(ListType.CREATED).isEmpty()); @@ -1673,8 +1664,8 @@ public class TestRenameWithSnapshots { assertTrue(diff.getChildrenDiff().getList(ListType.DELETED).isEmpty()); // check dir2 - INode dir2Node = fsdir.getINode4Write(dir2.toString()); - assertTrue(dir2Node.getClass() == INodeDirectorySnapshottable.class); + INodeDirectory dir2Node = fsdir.getINode4Write(dir2.toString()).asDirectory(); + assertTrue(dir2Node.isSnapshottable()); Quota.Counts counts = dir2Node.computeQuotaUsage(); assertEquals(4, counts.get(Quota.NAMESPACE)); assertEquals(0, counts.get(Quota.DISKSPACE)); @@ -1689,7 +1680,7 @@ public class TestRenameWithSnapshots { assertTrue(subsubdir2Node.getClass() == INodeDirectory.class); assertSame(subdir2Node, subsubdir2Node.getParent()); - diffList = ((INodeDirectorySnapshottable) dir2Node).getDiffs().asList(); + diffList = ( dir2Node).getDiffs().asList(); assertEquals(1, diffList.size()); diff = diffList.get(0); assertTrue(diff.getChildrenDiff().getList(ListType.CREATED).isEmpty()); @@ -1723,8 +1714,8 @@ public class TestRenameWithSnapshots { } // check - INodeDirectorySnapshottable rootNode = (INodeDirectorySnapshottable) fsdir - .getINode4Write(root.toString()); + INodeDirectory rootNode = fsdir.getINode4Write(root.toString()) + .asDirectory(); INodeDirectory fooNode = fsdir.getINode4Write(foo.toString()).asDirectory(); ReadOnlyList<INode> children = fooNode .getChildrenList(Snapshot.CURRENT_STATE_ID); @@ -1794,7 +1785,7 @@ public class TestRenameWithSnapshots { // check dir2 INode dir2Node = fsdir.getINode4Write(dir2.toString()); - assertTrue(dir2Node.getClass() == INodeDirectorySnapshottable.class); + assertTrue(dir2Node.asDirectory().isSnapshottable()); Quota.Counts counts = dir2Node.computeQuotaUsage(); assertEquals(7, counts.get(Quota.NAMESPACE)); assertEquals(BLOCKSIZE * REPL * 2, counts.get(Quota.DISKSPACE)); @@ -1961,12 +1952,12 @@ public class TestRenameWithSnapshots { hdfs.deleteSnapshot(sdir2, "s3"); // check - final INodeDirectorySnapshottable dir1Node = - (INodeDirectorySnapshottable) fsdir.getINode4Write(sdir1.toString()); + final INodeDirectory dir1Node = fsdir.getINode4Write(sdir1.toString()) + .asDirectory(); Quota.Counts q1 = dir1Node.getDirectoryWithQuotaFeature().getSpaceConsumed(); assertEquals(4, q1.get(Quota.NAMESPACE)); - final INodeDirectorySnapshottable dir2Node = - (INodeDirectorySnapshottable) fsdir.getINode4Write(sdir2.toString()); + final INodeDirectory dir2Node = fsdir.getINode4Write(sdir2.toString()) + .asDirectory(); Quota.Counts q2 = dir2Node.getDirectoryWithQuotaFeature().getSpaceConsumed(); assertEquals(2, q2.get(Quota.NAMESPACE)); @@ -2030,13 +2021,13 @@ public class TestRenameWithSnapshots { hdfs.deleteSnapshot(sdir2, "s3"); // check - final INodeDirectorySnapshottable dir1Node = - (INodeDirectorySnapshottable) fsdir.getINode4Write(sdir1.toString()); + final INodeDirectory dir1Node = fsdir.getINode4Write(sdir1.toString()) + .asDirectory(); // sdir1 + s1 + foo_s1 (foo) + foo (foo + s1 + bar~bar3) Quota.Counts q1 = dir1Node.getDirectoryWithQuotaFeature().getSpaceConsumed(); assertEquals(9, q1.get(Quota.NAMESPACE)); - final INodeDirectorySnapshottable dir2Node = - (INodeDirectorySnapshottable) fsdir.getINode4Write(sdir2.toString()); + final INodeDirectory dir2Node = fsdir.getINode4Write(sdir2.toString()) + .asDirectory(); Quota.Counts q2 = dir2Node.getDirectoryWithQuotaFeature().getSpaceConsumed(); assertEquals(2, q2.get(Quota.NAMESPACE)); @@ -2252,8 +2243,8 @@ public class TestRenameWithSnapshots { List<DirectoryDiff> barDiffList = barNode.getDiffs().asList(); assertEquals(1, barDiffList.size()); DirectoryDiff diff = barDiffList.get(0); - INodeDirectorySnapshottable testNode = - (INodeDirectorySnapshottable) fsdir.getINode4Write(test.toString()); + INodeDirectory testNode = fsdir.getINode4Write(test.toString()) + .asDirectory(); Snapshot s0 = testNode.getSnapshot(DFSUtil.string2Bytes("s0")); assertEquals(s0.getId(), diff.getSnapshotId()); // and file should be stored in the deleted list of this snapshot diff @@ -2265,14 +2256,10 @@ public class TestRenameWithSnapshots { 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), - // and currently is s0 - assertEquals(2, dir2DiffList.size()); - dList = dir2DiffList.get(1).getChildrenDiff().getList(ListType.DELETED); + // dir2Node should contain 1 snapshot diffs for s2 + assertEquals(1, dir2DiffList.size()); + dList = dir2DiffList.get(0).getChildrenDiff().getList(ListType.DELETED); assertEquals(1, dList.size()); - cList = dir2DiffList.get(0).getChildrenDiff().getList(ListType.CREATED); - assertTrue(cList.isEmpty()); final Path foo_s2 = SnapshotTestHelper.getSnapshotPath(dir2, "s2", foo.getName()); INodeReference.WithName fooNode_s2 =
Modified: hadoop/common/trunk/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/trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestSetQuotaWithSnapshot.java?rev=1608631&r1=1608630&r2=1608631&view=diff ============================================================================== --- hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestSetQuotaWithSnapshot.java (original) +++ hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestSetQuotaWithSnapshot.java Tue Jul 8 00:08:18 2014 @@ -112,23 +112,20 @@ public class TestSetQuotaWithSnapshot { hdfs.allowSnapshot(dir); hdfs.setQuota(dir, HdfsConstants.QUOTA_DONT_SET, HdfsConstants.QUOTA_DONT_SET); - INode dirNode = fsdir.getINode4Write(dir.toString()); - assertTrue(dirNode instanceof INodeDirectorySnapshottable); - assertEquals(0, ((INodeDirectorySnapshottable) dirNode).getDiffs().asList() - .size()); + INodeDirectory dirNode = fsdir.getINode4Write(dir.toString()).asDirectory(); + assertTrue(dirNode.isSnapshottable()); + assertEquals(0, dirNode.getDiffs().asList().size()); hdfs.setQuota(dir, HdfsConstants.QUOTA_DONT_SET - 1, HdfsConstants.QUOTA_DONT_SET - 1); - dirNode = fsdir.getINode4Write(dir.toString()); - assertTrue(dirNode instanceof INodeDirectorySnapshottable); - assertEquals(0, ((INodeDirectorySnapshottable) dirNode).getDiffs().asList() - .size()); + dirNode = fsdir.getINode4Write(dir.toString()).asDirectory(); + assertTrue(dirNode.isSnapshottable()); + assertEquals(0, dirNode.getDiffs().asList().size()); hdfs.setQuota(dir, HdfsConstants.QUOTA_RESET, HdfsConstants.QUOTA_RESET); - dirNode = fsdir.getINode4Write(dir.toString()); - assertTrue(dirNode instanceof INodeDirectorySnapshottable); - assertEquals(0, ((INodeDirectorySnapshottable) dirNode).getDiffs().asList() - .size()); + dirNode = fsdir.getINode4Write(dir.toString()).asDirectory(); + assertTrue(dirNode.isSnapshottable()); + assertEquals(0, dirNode.getDiffs().asList().size()); // allow snapshot on dir and create snapshot s1 SnapshotTestHelper.createSnapshot(hdfs, dir, "s1"); @@ -136,10 +133,9 @@ public class TestSetQuotaWithSnapshot { // clear quota of dir hdfs.setQuota(dir, HdfsConstants.QUOTA_RESET, HdfsConstants.QUOTA_RESET); // dir should still be a snapshottable directory - dirNode = fsdir.getINode4Write(dir.toString()); - assertTrue(dirNode instanceof INodeDirectorySnapshottable); - assertEquals(1, ((INodeDirectorySnapshottable) dirNode).getDiffs().asList() - .size()); + dirNode = fsdir.getINode4Write(dir.toString()).asDirectory(); + assertTrue(dirNode.isSnapshottable()); + assertEquals(1, dirNode.getDiffs().asList().size()); SnapshottableDirectoryStatus[] status = hdfs.getSnapshottableDirListing(); assertEquals(1, status.length); assertEquals(dir, status[0].getFullPath()); @@ -154,8 +150,7 @@ public class TestSetQuotaWithSnapshot { assertTrue(subNode.asDirectory().isWithSnapshot()); List<DirectoryDiff> diffList = subNode.asDirectory().getDiffs().asList(); assertEquals(1, diffList.size()); - Snapshot s2 = ((INodeDirectorySnapshottable) dirNode).getSnapshot(DFSUtil - .string2Bytes("s2")); + Snapshot s2 = dirNode.getSnapshot(DFSUtil.string2Bytes("s2")); assertEquals(s2.getId(), diffList.get(0).getSnapshotId()); List<INode> createdList = diffList.get(0).getChildrenDiff().getList(ListType.CREATED); assertEquals(1, createdList.size()); Modified: hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestSnapshot.java URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestSnapshot.java?rev=1608631&r1=1608630&r2=1608631&view=diff ============================================================================== --- hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestSnapshot.java (original) +++ hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestSnapshot.java Tue Jul 8 00:08:18 2014 @@ -430,30 +430,31 @@ public class TestSnapshot { .asDirectory(); assertTrue(rootNode.isSnapshottable()); // root is snapshottable dir, but with 0 snapshot quota - assertEquals(0, ((INodeDirectorySnapshottable) rootNode).getSnapshotQuota()); + assertEquals(0, rootNode.getDirectorySnapshottableFeature() + .getSnapshotQuota()); hdfs.allowSnapshot(root); rootNode = fsdir.getINode4Write(root.toString()).asDirectory(); assertTrue(rootNode.isSnapshottable()); - assertEquals(INodeDirectorySnapshottable.SNAPSHOT_LIMIT, - ((INodeDirectorySnapshottable) rootNode).getSnapshotQuota()); + assertEquals(DirectorySnapshottableFeature.SNAPSHOT_LIMIT, + rootNode.getDirectorySnapshottableFeature().getSnapshotQuota()); // call allowSnapshot again hdfs.allowSnapshot(root); rootNode = fsdir.getINode4Write(root.toString()).asDirectory(); assertTrue(rootNode.isSnapshottable()); - assertEquals(INodeDirectorySnapshottable.SNAPSHOT_LIMIT, - ((INodeDirectorySnapshottable) rootNode).getSnapshotQuota()); + assertEquals(DirectorySnapshottableFeature.SNAPSHOT_LIMIT, + rootNode.getDirectorySnapshottableFeature().getSnapshotQuota()); // disallowSnapshot on dir hdfs.disallowSnapshot(root); rootNode = fsdir.getINode4Write(root.toString()).asDirectory(); assertTrue(rootNode.isSnapshottable()); - assertEquals(0, ((INodeDirectorySnapshottable) rootNode).getSnapshotQuota()); + assertEquals(0, rootNode.getDirectorySnapshottableFeature().getSnapshotQuota()); // do it again hdfs.disallowSnapshot(root); rootNode = fsdir.getINode4Write(root.toString()).asDirectory(); assertTrue(rootNode.isSnapshottable()); - assertEquals(0, ((INodeDirectorySnapshottable) rootNode).getSnapshotQuota()); + assertEquals(0, rootNode.getDirectorySnapshottableFeature().getSnapshotQuota()); } /** Modified: hadoop/common/trunk/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/trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestSnapshotDeletion.java?rev=1608631&r1=1608630&r2=1608631&view=diff ============================================================================== --- hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestSnapshotDeletion.java (original) +++ hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestSnapshotDeletion.java Tue Jul 8 00:08:18 2014 @@ -281,10 +281,10 @@ public class TestSnapshotDeletion { checkQuotaUsageComputation(dir, 14L, BLOCKSIZE * REPLICATION * 4); // get two snapshots for later use - Snapshot snapshot0 = ((INodeDirectorySnapshottable) fsdir.getINode(dir - .toString())).getSnapshot(DFSUtil.string2Bytes("s0")); - Snapshot snapshot1 = ((INodeDirectorySnapshottable) fsdir.getINode(dir - .toString())).getSnapshot(DFSUtil.string2Bytes("s1")); + Snapshot snapshot0 = fsdir.getINode(dir.toString()).asDirectory() + .getSnapshot(DFSUtil.string2Bytes("s0")); + Snapshot snapshot1 = fsdir.getINode(dir.toString()).asDirectory() + .getSnapshot(DFSUtil.string2Bytes("s1")); // Case 2 + Case 3: delete noChangeDirParent, noChangeFile, and // metaChangeFile2. Note that when we directly delete a directory, the @@ -509,8 +509,7 @@ public class TestSnapshotDeletion { } // check 1. there is no snapshot s0 - final INodeDirectorySnapshottable dirNode = - (INodeDirectorySnapshottable) fsdir.getINode(dir.toString()); + final INodeDirectory dirNode = fsdir.getINode(dir.toString()).asDirectory(); Snapshot snapshot0 = dirNode.getSnapshot(DFSUtil.string2Bytes("s0")); assertNull(snapshot0); Snapshot snapshot1 = dirNode.getSnapshot(DFSUtil.string2Bytes("s1")); Modified: hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestSnapshotManager.java URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestSnapshotManager.java?rev=1608631&r1=1608630&r2=1608631&view=diff ============================================================================== --- hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestSnapshotManager.java (original) +++ hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestSnapshotManager.java Tue Jul 8 00:08:18 2014 @@ -18,13 +18,19 @@ package org.apache.hadoop.hdfs.server.namenode.snapshot; +import static org.mockito.Matchers.anyString; +import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.spy; + import java.util.ArrayList; import org.apache.hadoop.hdfs.protocol.SnapshotException; import org.apache.hadoop.hdfs.server.namenode.FSDirectory; import org.apache.hadoop.hdfs.server.namenode.INode; -import org.junit.*; -import static org.mockito.Mockito.*; +import org.apache.hadoop.hdfs.server.namenode.INodeDirectory; +import org.junit.Assert; +import org.junit.Test; /** @@ -40,7 +46,7 @@ public class TestSnapshotManager { public void testSnapshotLimits() throws Exception { // Setup mock objects for SnapshotManager.createSnapshot. // - INodeDirectorySnapshottable ids = mock(INodeDirectorySnapshottable.class); + INodeDirectory ids = mock(INodeDirectory.class); FSDirectory fsdir = mock(FSDirectory.class); SnapshotManager sm = spy(new SnapshotManager(fsdir)); Modified: hadoop/common/trunk/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/trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestSnapshotRename.java?rev=1608631&r1=1608630&r2=1608631&view=diff ============================================================================== --- hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestSnapshotRename.java (original) +++ hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestSnapshotRename.java Tue Jul 8 00:08:18 2014 @@ -37,6 +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.INodeDirectory; import org.apache.hadoop.hdfs.server.namenode.snapshot.DirectoryWithSnapshotFeature.DirectoryDiff; import org.apache.hadoop.hdfs.util.ReadOnlyList; import org.apache.hadoop.ipc.RemoteException; @@ -88,12 +89,13 @@ public class TestSnapshotRename { public ExpectedException exception = ExpectedException.none(); /** - * Check the correctness of snapshot list within - * {@link INodeDirectorySnapshottable} + * Check the correctness of snapshot list within snapshottable dir */ - private void checkSnapshotList(INodeDirectorySnapshottable srcRoot, + private void checkSnapshotList(INodeDirectory srcRoot, String[] sortedNames, String[] names) { - ReadOnlyList<Snapshot> listByName = srcRoot.getSnapshotsByNames(); + assertTrue(srcRoot.isSnapshottable()); + ReadOnlyList<Snapshot> listByName = srcRoot + .getDirectorySnapshottableFeature().getSnapshotList(); assertEquals(sortedNames.length, listByName.size()); for (int i = 0; i < listByName.size(); i++) { assertEquals(sortedNames[i], listByName.get(i).getRoot().getLocalName()); @@ -101,7 +103,8 @@ public class TestSnapshotRename { List<DirectoryDiff> listByTime = srcRoot.getDiffs().asList(); assertEquals(names.length, listByTime.size()); for (int i = 0; i < listByTime.size(); i++) { - Snapshot s = srcRoot.getSnapshotById(listByTime.get(i).getSnapshotId()); + Snapshot s = srcRoot.getDirectorySnapshottableFeature().getSnapshotById( + listByTime.get(i).getSnapshotId()); assertEquals(names[i], s.getRoot().getLocalName()); } } @@ -121,8 +124,7 @@ public class TestSnapshotRename { // Rename s3 to s22 hdfs.renameSnapshot(sub1, "s3", "s22"); // Check the snapshots list - INodeDirectorySnapshottable srcRoot = INodeDirectorySnapshottable.valueOf( - fsdir.getINode(sub1.toString()), sub1.toString()); + INodeDirectory srcRoot = fsdir.getINode(sub1.toString()).asDirectory(); checkSnapshotList(srcRoot, new String[] { "s1", "s2", "s22" }, new String[] { "s1", "s2", "s22" });