public static class TestFastFail.MyPreemptiveFastFailInterceptor
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
protected long |
failureMapCleanupIntervalMilliSec |
protected long |
fastFailThresholdMilliSec |
protected long |
lastFailureMapCleanupTimeMilliSec |
static Log |
LOG |
static java.util.concurrent.atomic.AtomicInteger |
numBraveSouls |
protected java.util.concurrent.ConcurrentMap<ServerName,org.apache.hadoop.hbase.client.FailureInfo> |
repeatedFailuresMap |
Constructor and Description |
---|
MyPreemptiveFastFailInterceptor(Configuration conf) |
Modifier and Type | Method and Description |
---|---|
org.apache.hadoop.hbase.client.RetryingCallerInterceptorContext |
createEmptyContext()
This returns the context object for the current call.
|
void |
handleFailure(org.apache.hadoop.hbase.client.FastFailInterceptorContext context,
java.lang.Throwable t) |
void |
handleFailure(org.apache.hadoop.hbase.client.RetryingCallerInterceptorContext context,
java.lang.Throwable t)
Call this function in case we caught a failure during retries.
|
void |
handleThrowable(java.lang.Throwable t1,
ServerName serverName,
MutableBoolean couldNotCommunicateWithServer) |
void |
intercept(org.apache.hadoop.hbase.client.FastFailInterceptorContext context) |
void |
intercept(org.apache.hadoop.hbase.client.RetryingCallerInterceptorContext context)
Call this function alongside the actual call done on the callable.
|
protected boolean |
isServerInFailureMap(ServerName serverName) |
protected void |
occasionallyCleanupFailureInformation()
Occasionally cleans up unused information in repeatedFailuresMap.
|
protected boolean |
shouldRetryInspiteOfFastFail(org.apache.hadoop.hbase.client.FailureInfo fInfo)
Check to see if the client should try to connnect to the server, inspite of
knowing that it is in the fast fail mode.
|
java.lang.String |
toString() |
void |
updateFailureInfo(org.apache.hadoop.hbase.client.FastFailInterceptorContext context) |
void |
updateFailureInfo(org.apache.hadoop.hbase.client.RetryingCallerInterceptorContext context)
Call this function to update at the end of the retry.
|
public static java.util.concurrent.atomic.AtomicInteger numBraveSouls
public static final Log LOG
protected final long fastFailThresholdMilliSec
protected final java.util.concurrent.ConcurrentMap<ServerName,org.apache.hadoop.hbase.client.FailureInfo> repeatedFailuresMap
protected final long failureMapCleanupIntervalMilliSec
protected volatile long lastFailureMapCleanupTimeMilliSec
public MyPreemptiveFastFailInterceptor(Configuration conf)
protected boolean shouldRetryInspiteOfFastFail(org.apache.hadoop.hbase.client.FailureInfo fInfo)
public void intercept(org.apache.hadoop.hbase.client.FastFailInterceptorContext context) throws PreemptiveFastFailException
PreemptiveFastFailException
public void handleFailure(org.apache.hadoop.hbase.client.FastFailInterceptorContext context, java.lang.Throwable t) throws java.io.IOException
java.io.IOException
public void updateFailureInfo(org.apache.hadoop.hbase.client.FastFailInterceptorContext context)
public void handleThrowable(java.lang.Throwable t1, ServerName serverName, MutableBoolean couldNotCommunicateWithServer) throws java.io.IOException
java.io.IOException
protected void occasionallyCleanupFailureInformation()
public void intercept(org.apache.hadoop.hbase.client.RetryingCallerInterceptorContext context) throws PreemptiveFastFailException
PreemptiveFastFailException
public void handleFailure(org.apache.hadoop.hbase.client.RetryingCallerInterceptorContext context, java.lang.Throwable t) throws java.io.IOException
context
- : The context object that we obtained previously.t
- : The exception that we caught in this particular tryjava.io.IOException
public void updateFailureInfo(org.apache.hadoop.hbase.client.RetryingCallerInterceptorContext context)
public org.apache.hadoop.hbase.client.RetryingCallerInterceptorContext createEmptyContext()
protected boolean isServerInFailureMap(ServerName serverName)
public java.lang.String toString()