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

stack commented on HBASE-12075:
-------------------------------

I don't think is going to fly in ClusterConnection [~manukranthk]

+  public RetryingCallerInterceptor getRetryingCallerInterceptor();

Fellas have been working on cleaning up the API making it regular, 
understandable.  Inserting the above is going to stick out like a sore thumb 
IMO.

It doesn't even have javadoc.

Reading more I get it.

The factories and the notion are sound.  Makes sense.  How to reveal it w/o 
disturbing ClusterConnection? Can you insert an implementation of 
ClusterConnection that has getRetryingCallerInterceptor?  Or you want us to add 
a DevelopersClusterConnection marker Interface to CC or add a 'features' or dev 
tools method that you could get your RetryingCallerInterceptor from?

Adding [~sduskis] and [~enis] and [~ndimiduk]... These fellas weill have better 
ideas than I.





> Preemptive Fast Fail
> --------------------
>
>                 Key: HBASE-12075
>                 URL: https://issues.apache.org/jira/browse/HBASE-12075
>             Project: HBase
>          Issue Type: Sub-task
>          Components: Client
>    Affects Versions: 0.99.0, 2.0.0, 0.98.6.1
>            Reporter: Manukranth Kolloju
>            Assignee: Manukranth Kolloju
>         Attachments: 0001-Add-a-test-case-for-Preemptive-Fast-Fail.patch, 
> 0001-HBASE-12075-Implement-Preemptive-Fast-Fail.patch, 
> 0001-HBASE-12075-Implement-Preemptive-Fast-Fail.patch, 
> 0001-Implement-Preemptive-Fast-Fail.patch, 
> 0001-Implement-Preemptive-Fast-Fail.patch, 
> 0001-Implement-Preemptive-Fast-Fail.patch, 
> 0001-Implement-Preemptive-Fast-Fail.patch, 
> 0001-Implement-Preemptive-Fast-Fail.patch
>
>
> In multi threaded clients, we use a feature developed on 0.89-fb branch 
> called Preemptive Fast Fail. This allows the client threads which would 
> potentially fail, fail fast. The idea behind this feature is that we allow, 
> among the hundreds of client threads, one thread to try and establish 
> connection with the regionserver and if that succeeds, we mark it as a live 
> node again. Meanwhile, other threads which are trying to establish connection 
> to the same server would ideally go into the timeouts which is effectively 
> unfruitful. We can in those cases return appropriate exceptions to those 
> clients instead of letting them retry.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to