private void deleteSnapshotWithAclAndVerify(AclFeature aclFeature, Path pathToCheckAcl, int totalAclFeatures) throws IOException { hdfs.deleteSnapshot(path, snapshotName); AclFeature afterDeleteAclFeature = FSAclBaseTest.getAclFeature( pathToCheckAcl, cluster); assertSame(aclFeature, afterDeleteAclFeature); assertEquals("Reference count should remain same" + " even after deletion of snapshot", 1, afterDeleteAclFeature.getRefCount()); hdfs.removeAcl(pathToCheckAcl); assertEquals("Reference count should be 0", 0, aclFeature.getRefCount()); assertEquals("Unique ACL features should remain same", totalAclFeatures, AclStorage.getUniqueAclFeatures().getUniqueElementsSize()); }
AclStorage.getUniqueAclFeatures().clear(); startCluster(); setUp(); fs.modifyAclEntries(p1, aclSpec); assertEquals("One more ACL feature should be unique", currentSize + 1, AclStorage.getUniqueAclFeatures().getUniqueElementsSize()); currentSize++; AclStorage.getUniqueAclFeatures().getUniqueElementsSize()); child1AclFeature = getAclFeature(child1, cluster); assertEquals("Reference count should be 1", 1, AclStorage.getUniqueAclFeatures().getUniqueElementsSize()); AclFeature child2AclFeature = getAclFeature(child1, cluster); assertSame("Same Aclfeature should be re-used", child1AclFeature, List<AclFeature> entriesBeforeRestart = AclStorage.getUniqueAclFeatures() .getEntries(); List<AclFeature> entriesAfterRestart = AclStorage.getUniqueAclFeatures() .getEntries(); assertEquals("Entries before and after should be same", .setSafeMode(SafeModeAction.SAFEMODE_LEAVE, false); cluster.restartNameNode(true); List<AclFeature> entriesAfterRestart = AclStorage.getUniqueAclFeatures() .getEntries(); assertEquals("Entries before and after should be same",
@Test public void testDeDuplication() throws Exception { int startSize = AclStorage.getUniqueAclFeatures().getUniqueElementsSize(); hdfs.modifyAclEntries(path, aclSpec); assertEquals("One more ACL feature should be unique", startSize + 1, AclStorage.getUniqueAclFeatures().getUniqueElementsSize()); Path subdir = new Path(path, "sub-dir"); hdfs.mkdirs(subdir); hdfs.deleteSnapshot(path, snapshotName); assertEquals("ACLs should be deleted from snapshot", startSize, AclStorage .getUniqueAclFeatures().getUniqueElementsSize());