[ 
https://issues.apache.org/jira/browse/HDFS-9395?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Colin Patrick McCabe updated HDFS-9395:
---------------------------------------
    Description: 
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

  was:Audit logging is in the fainally block along with the lock unlocking, so 
it is always logged as success even for cases like FileNotFoundException is 
thrown.


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