bshashikant commented on pull request #3340: URL: https://github.com/apache/hadoop/pull/3340#issuecomment-915780582
> @bshashikant , thank you for the patch. > > I see that the patch works by converting logic from reference-equals to value-equals. In `AclStorage`, we maintain a reference-counted mapping of every immutable instance of every `AclFeature` currently in use by the namesystem. Inodes with identical ACL entries all point to the same `AclFeature`, so reference equals should work fine. This was an intentional choice of the ACL design to lower memory footprint and provide an inexpensive equality operation. > > Xattrs do not use this same flyweight pattern though, so I can see why deep equals would be necessary there. I wonder if this bug really only happens for xattrs and not ACLs? If the bug happens for ACLs, then that might mean there is really something wrong with reference counting in `AclStorage`, causing duplicate instances for the same ACL entries. > > Also, if value equals is necessary, then there is similar logic in `INodeFile` and `INodeFileAttributes`. Thanks @cnauroth for the explanation. I tested the acl feature and it seems the issue only seem to exist with Xattr feature not acl itself as you suggested. I have modified the patch accordingly. Thank you very much for explanation. -- 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: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
