[
https://issues.apache.org/jira/browse/HDFS-4979?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13714348#comment-13714348
]
Chris Nauroth commented on HDFS-4979:
-------------------------------------
{code}
private static boolean useRetryCache() {
// Do not track non RPC invocation or RPC requests with
// invalid callId or clientId in retry cache
return !Server.isRpcInvocation() || Server.getCallId() < 0
|| Arrays.equals(Server.getClientId(), RpcConstants.DUMMY_CLIENT_ID);
}
{code}
This method seems to return true when the retry cache is not used, so should
the method name be changed to something like {{skipRetryCache}}?
{code}
synchronized (mapEntry) {
while (mapEntry.state == CacheEntry.INPROGRESS) {
try {
mapEntry.wait();
} catch (InterruptedException ie) {
// Ignored
}
}
{code}
Should we restore interrupted status by calling
{{Thread.currentThread().interrupt()}} instead of swallowing the
{{InterruptedException}}? Other unrelated code running on the thread might
depend on seeing the correct interrupted status to work correctly.
{code}
try {
deleteInt(src, true); // File exists - delete if overwrite
} catch (AccessControlException e) {
logAuditEvent(false, "delete", src);
throw e;
}
{code}
Seeing this makes me realize that attempts to overwrite a file by a client with
insufficient permissions causes 2 audit events: once for the delete, and then
again for the create, because {{startFile}} catches the
{{AccessControlException}} and logs it again. It seems like a bug to log 2
audit events for a single logical operation. This behavior exists in the
current code, so it's not a new problem introduced in this patch. Shall I file
a separate bug for this?
> Implement retry cache on the namenode
> -------------------------------------
>
> Key: HDFS-4979
> URL: https://issues.apache.org/jira/browse/HDFS-4979
> Project: Hadoop HDFS
> Issue Type: Sub-task
> Components: namenode
> Reporter: Suresh Srinivas
> Assignee: Suresh Srinivas
> Attachments: HDFS-4979.1.patch, HDFS-4979.2.patch, HDFS-4979.3.patch,
> HDFS-4979.4.patch, HDFS-4979.5.patch, HDFS-4979.6.patch, HDFS-4979.7.patch,
> HDFS-4979.8.patch, HDFS-4979.9.patch, HDFS-4979.patch
>
>
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira