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

Sean Busbey updated HBASE-22252:
--------------------------------
    Description: 
ClientBackoffPolicy should not be IA.Public

We exposes this interface as IA.Public, but one of the parameters of the 
getBackoffTime method is IA.Private, which means we do not expect users to 
implement the interface, and it should not be called by user directly either, 
so I think it should be marked as IA.Private. And for its sub classes, we 
should mark them as IA.LimitedPrivate(CONFIG), so user could make use of them 
through the config file.

And seems it is only used in AsyncProcess, which is super complicated, and I 
want to completely remove it, by re-implementing sync client based on async 
client.

(*edit*: original subject put in start of description)


  was:
We exposes this interface as IA.Public, but one of the parameters of the 
getBackoffTime method is IA.Private, which means we do not expect users to 
implement the interface, and it should not be called by user directly either, 
so I think it should be marked as IA.Private. And for its sub classes, we 
should mark them as IA.LimitedPrivate(CONFIG), so user could make use of them 
through the config file.

And seems it is only used in AsyncProcess, which is super complicated, and I 
want to completely remove it, by re-implementing sync client based on async 
client.




> Implement client pushback for async client
> ------------------------------------------
>
>                 Key: HBASE-22252
>                 URL: https://issues.apache.org/jira/browse/HBASE-22252
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: Duo Zhang
>            Priority: Major
>
> ClientBackoffPolicy should not be IA.Public
> We exposes this interface as IA.Public, but one of the parameters of the 
> getBackoffTime method is IA.Private, which means we do not expect users to 
> implement the interface, and it should not be called by user directly either, 
> so I think it should be marked as IA.Private. And for its sub classes, we 
> should mark them as IA.LimitedPrivate(CONFIG), so user could make use of them 
> through the config file.
> And seems it is only used in AsyncProcess, which is super complicated, and I 
> want to completely remove it, by re-implementing sync client based on async 
> client.
> (*edit*: original subject put in start of description)



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

Reply via email to