[ https://issues.apache.org/jira/browse/HDFS-16187?focusedWorklogId=649551&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-649551 ]
ASF GitHub Bot logged work on HDFS-16187: ----------------------------------------- Author: ASF GitHub Bot Created on: 11/Sep/21 02:44 Start Date: 11/Sep/21 02:44 Worklog Time Spent: 10m Work Description: szetszwo commented on pull request #3340: URL: https://github.com/apache/hadoop/pull/3340#issuecomment-917324293 @cnauroth , thanks a lot for helping out. > ... Inodes with identical ACL entries all point to the same AclFeature, so reference equals should work fine. ... In this case, it is a good idea to check == inside the equals(Object) method. Then, calling equals(Object) is equally cheap as checking ==. ``` +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/AclFeature.java @@ -63,6 +63,9 @@ int getEntryAt(int pos) { @Override public boolean equals(Object o) { + if (this == o) { + return true; + } if (o == null) { return false; } ``` Let's merge this change as-is and do the further improvement separately. +1 @bshashikant , it somehow got "All checks have failed". Could you trigger another build? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org Issue Time Tracking ------------------- Worklog Id: (was: 649551) Time Spent: 3h 20m (was: 3h 10m) > SnapshotDiff behaviour with Xattrs and Acls is not consistent across NN > restarts with checkpointing > --------------------------------------------------------------------------------------------------- > > Key: HDFS-16187 > URL: https://issues.apache.org/jira/browse/HDFS-16187 > Project: Hadoop HDFS > Issue Type: Bug > Components: snapshots > Reporter: Srinivasu Majeti > Assignee: Shashikant Banerjee > Priority: Major > Labels: pull-request-available > Time Spent: 3h 20m > Remaining Estimate: 0h > > The below test shows the snapshot diff between across snapshots is not > consistent with Xattr(EZ here settinh the Xattr) across NN restarts with > checkpointed FsImage. > {code:java} > @Test > public void testEncryptionZonesWithSnapshots() throws Exception { > final Path snapshottable = new Path("/zones"); > fsWrapper.mkdir(snapshottable, FsPermission.getDirDefault(), > true); > dfsAdmin.allowSnapshot(snapshottable); > dfsAdmin.createEncryptionZone(snapshottable, TEST_KEY, NO_TRASH); > fs.createSnapshot(snapshottable, "snap1"); > SnapshotDiffReport report = > fs.getSnapshotDiffReport(snapshottable, "snap1", ""); > Assert.assertEquals(0, report.getDiffList().size()); > report = > fs.getSnapshotDiffReport(snapshottable, "snap1", ""); > System.out.println(report); > Assert.assertEquals(0, report.getDiffList().size()); > fs.setSafeMode(SafeModeAction.SAFEMODE_ENTER); > fs.saveNamespace(); > fs.setSafeMode(SafeModeAction.SAFEMODE_LEAVE); > cluster.restartNameNode(true); > report = > fs.getSnapshotDiffReport(snapshottable, "snap1", ""); > Assert.assertEquals(0, report.getDiffList().size()); > }{code} > {code:java} > Pre Restart: > Difference between snapshot snap1 and current directory under directory > /zones: > Post Restart: > Difference between snapshot snap1 and current directory under directory > /zones: > M .{code} > The side effect of this behavior is : distcp with snapshot diff would fail > with below error complaining that target cluster has some data changed . > {code:java} > WARN tools.DistCp: The target has been modified since snapshot xxxxx > {code} -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org