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

Wei-Chiu Chuang commented on HBASE-20686:
-----------------------------------------

Thanks [~Apache9] yeah I've tried that but mocking a reflection based method 
doesn't seem trivial. Ultimately you'd need to stub {{ClientProtocol.create()}} 
but there are two versions of {{ClientProtocol.create()}} with different 
parameter length depending on the Hadoop version, and {{Mockito.anyVararg()}} 
doesn't work in this case. So the test code would need to somehow maintain 
multiple versions of  {{ClientProtocol.create()}}  and it gets messier from 
there. 

> Asyncfs should retry upon RetryStartFileException
> -------------------------------------------------
>
>                 Key: HBASE-20686
>                 URL: https://issues.apache.org/jira/browse/HBASE-20686
>             Project: HBase
>          Issue Type: Bug
>          Components: asyncclient
>    Affects Versions: 2.0.0-beta-1
>         Environment: HBase 2.0, Hadoop 3 with at-rest encryption
>            Reporter: Wei-Chiu Chuang
>            Assignee: Wei-Chiu Chuang
>            Priority: Major
>         Attachments: HBASE-20686.master.001.patch, 
> HBASE-20686.master.002.patch
>
>
> In Hadoop-2.6 and above, HDFS client retries on RetryStartFileException when 
> NameNode experience encryption zone related issue. The code exists in 
> DFSOutputStream#newStreamForCreate(). (HDFS-6970)
> In HBase-2's asyncfs implementation, 
> FanOutOneBlockAsyncDFSOutputHelper#createOutput() is somewhat an imitation of 
> HDFS's DFSOutputStream#newStreamForCreate(). However it does not retry upon 
> RetryStartFileException. So it is less resilient to such issues.
> Also, DFSOutputStream#newStreamForCreate() upwraps RemoteExceptions, but 
> asyncfs does not. Therefore, hbase gets different exceptions than before.
> File this jira to get this corrected.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to