[ 
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)

Reply via email to