Package org.apache.hadoop.hbase.client
Class RpcRetryingCallable<V>
java.lang.Object
org.apache.hadoop.hbase.client.RpcRetryingCallable<V>
- Type Parameters:
V
- return type
- All Implemented Interfaces:
Closeable
,AutoCloseable
,RetryingCallable<V>
A RetryingCallable for RPC connection operations.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptioncall
(int callTimeout) Computes a result, or throws an exception if unable to do so.void
close()
Returns Some details from the implementation that we would like to add to a terminating exception; i.e.void
prepare
(boolean reload) Prepare by setting up any connections to servers, etc., ahead of call invocation.protected abstract V
rpcCall
(int callTimeout) long
sleep
(long pause, int tries) Sleep and retry.void
Called when call throws an exception and we are going to retry; take action to make it so we succeed on next call (clear caches, do relookup of locations, etc.).
-
Constructor Details
-
RpcRetryingCallable
-
-
Method Details
-
prepare
Description copied from interface:RetryingCallable
Prepare by setting up any connections to servers, etc., ahead of call invocation. TODO: We call prepare before EVERY call. Seems wrong. FIX!!!!- Specified by:
prepare
in interfaceRetryingCallable<V>
- Parameters:
reload
- Set this to true if need to requery locations- Throws:
IOException
- e
-
close
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Throws:
IOException
-
throwable
Description copied from interface:RetryingCallable
Called when call throws an exception and we are going to retry; take action to make it so we succeed on next call (clear caches, do relookup of locations, etc.).- Specified by:
throwable
in interfaceRetryingCallable<V>
- Parameters:
t
- throwable which was thrownretrying
- True if we are in retrying mode (we are not in retrying mode when max retries == 1; we ARE in retrying mode if retries > 1 even when we are the last attempt)
-
getExceptionMessageAdditionalDetail
Description copied from interface:RetryingCallable
Returns Some details from the implementation that we would like to add to a terminating exception; i.e. a fatal exception is being thrown ending retries and we might like to add more implementation-specific detail on to the exception being thrown.- Specified by:
getExceptionMessageAdditionalDetail
in interfaceRetryingCallable<V>
-
sleep
Description copied from interface:RetryingCallable
Sleep and retry.- Specified by:
sleep
in interfaceRetryingCallable<V>
- Parameters:
pause
- time to pausetries
- amount of tries until till sleep- Returns:
- Suggestion on how much to sleep between retries
-
call
Description copied from interface:RetryingCallable
Computes a result, or throws an exception if unable to do so.- Specified by:
call
in interfaceRetryingCallable<V>
- Parameters:
callTimeout
- - the time available for this call. 0 for infinite.- Returns:
- computed result
- Throws:
IOException
-
rpcCall
- Throws:
Exception
-