[ https://issues.apache.org/jira/browse/HDFS-9395?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kuhu Shukla updated HDFS-9395: ------------------------------ Attachment: HDFS-9395.005.patch I have updated the patch. The patch does not change audit logging for : {{allowSnapshot}}, {{setErasureCodingPolicy}}, {{disallowSnapshot}}, {{finalizeRollingUpgrade}} since they use superUserPrivilege check and they should be addressed separately. Additionally added {{renameTo}} and {{getEZPath}} to the methods that need this change. {{renameTo}} now logs when there an ACE or the return value of success is true. I have not changed the return value of {{addCacheDirective}} since that (may) alter behavior and is not related audit logs. Please let me know if that sounds right [~vinayrpet]. Thanks again. Changed the test to have @BeforeClass and made appropriate changes to fileSys re-initialization as it is closed on several occasions to instigate IOEs. > HDFS operations vary widely in which failures they put in the audit log and > which they leave out > ------------------------------------------------------------------------------------------------ > > Key: HDFS-9395 > URL: https://issues.apache.org/jira/browse/HDFS-9395 > Project: Hadoop HDFS > Issue Type: Bug > Reporter: Kihwal Lee > Assignee: Kuhu Shukla > Attachments: HDFS-9395.001.patch, HDFS-9395.002.patch, > HDFS-9395.003.patch, HDFS-9395.004.patch, HDFS-9395.005.patch > > > So, the big question here is what should go in the audit log? All failures, > or just "permission denied" failures? Or, to put it a different way, if > someone attempts to do something and it fails because a file doesn't exist, > is that worth an audit log entry? > We are currently inconsistent on this point. For example, concat, > getContentSummary, addCacheDirective, and setErasureEncodingPolicy create an > audit log entry for all failures, but setOwner, delete, and setAclEntries > attempt to only create an entry for AccessControlException-based failures. > There are a few operations, like allowSnapshot, disallowSnapshot, and > startRollingUpgrade that never create audit log failure entries at all. They > simply log nothing for any failure, and log success for a successful > operation. > So to summarize, different HDFS operations currently fall into 3 categories: > 1. audit-log all failures > 2. audit-log only AccessControlException failures > 3. never audit-log failures > Which category is right? And how can we fix the inconsistency -- This message was sent by Atlassian JIRA (v6.3.4#6332)