Duo Zhang commented on HBASE-20686:

I think you can use Mockito to create a mocked DistributedFileSystem? It is 
also not easy as we will get the ClientProtocol and call it directly, But I 
think this way is cleaner as the FILE_CREATOR is 'static final'...

> 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

Reply via email to