[ 
https://issues.apache.org/jira/browse/HADOOP-16580?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16932280#comment-16932280
 ] 

Gergely Pollak commented on HADOOP-16580:
-----------------------------------------

Hi [~adam.antal] thank you for the patch!

The method on line 70 of UnreliableInterface.java is annotated as idempotent
{code:java}
@Idempotent
void failsWithAccessControlExceptionEightTimes()
{code}
But it's implementation is a bit less idempotent than it should be:
{code:java}
if (failsWithAccessControlExceptionInvocationCount++ < 8) {      
  throw new AccessControlException();   
}
{code}
I'd suggest to remove the annotation. Also the method name is a bit misleading, 
because one would think it's called when it failed 8 times, but actually it 
checks for the failures, and throws exception when it's the 8th failure.

> Disable retry of FailoverOnNetworkExceptionRetry in case of 
> AccessControlException
> ----------------------------------------------------------------------------------
>
>                 Key: HADOOP-16580
>                 URL: https://issues.apache.org/jira/browse/HADOOP-16580
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: common
>    Affects Versions: 3.3.0
>            Reporter: Adam Antal
>            Assignee: Adam Antal
>            Priority: Major
>         Attachments: HADOOP-16580.001.patch, HADOOP-16580.002.patch
>
>
> HADOOP-14982 handled the case where a SaslException is thrown. The issue 
> still persists, since the exception that is thrown is an 
> *AccessControlException* because user has no kerberos credentials. 
> My suggestion is that we should add this case as well to 
> {{FailoverOnNetworkExceptionRetry}}.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to