Package org.apache.hadoop.hbase.ipc
Class ServerRpcController
java.lang.Object
org.apache.hadoop.hbase.ipc.ServerRpcController
- All Implemented Interfaces:
com.google.protobuf.RpcController
@Private
public class ServerRpcController
extends Object
implements com.google.protobuf.RpcController
Used for server-side protobuf RPC service invocations. This handler allows invocation exceptions
to easily be passed through to the RPC server from coprocessor
Service
implementations.
When implementing Service
defined methods, coprocessor endpoints can
use the following pattern to pass exceptions back to the RPC client:
public void myMethod(RpcController controller, MyRequest request,
RpcCallback<MyResponse> done) {
MyResponse response = null;
try {
// do processing
response = MyResponse.getDefaultInstance(); // or use a new builder to populate the response
} catch (IOException ioe) {
// pass exception back up
ResponseConverter.setControllerException(controller, ioe);
}
done.run(response);
}
-
Field Summary
Modifier and TypeFieldDescriptionprivate String
private IOException
The exception thrown withinService.callMethod(com.google.protobuf.Descriptors.MethodDescriptor, RpcController, com.google.protobuf.Message, RpcCallback)
if any. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Throws an IOException back out if one is currently stored.boolean
failed()
boolean
Returns whether or not a server exception was generated in the prior RPC invocation.Returns any exception thrown during service method invocation, ornull
if no exception was thrown.boolean
void
notifyOnCancel
(com.google.protobuf.RpcCallback<Object> objectRpcCallback) void
reset()
void
void
setFailedOn
(IOException ioe) Sets an exception to be communicated back to theService
client.void
-
Field Details
-
serviceException
The exception thrown withinService.callMethod(com.google.protobuf.Descriptors.MethodDescriptor, RpcController, com.google.protobuf.Message, RpcCallback)
if any. -
errorMessage
-
-
Constructor Details
-
ServerRpcController
public ServerRpcController()
-
-
Method Details
-
reset
- Specified by:
reset
in interfacecom.google.protobuf.RpcController
-
failed
- Specified by:
failed
in interfacecom.google.protobuf.RpcController
-
errorText
- Specified by:
errorText
in interfacecom.google.protobuf.RpcController
-
startCancel
- Specified by:
startCancel
in interfacecom.google.protobuf.RpcController
-
setFailed
- Specified by:
setFailed
in interfacecom.google.protobuf.RpcController
-
isCanceled
- Specified by:
isCanceled
in interfacecom.google.protobuf.RpcController
-
notifyOnCancel
- Specified by:
notifyOnCancel
in interfacecom.google.protobuf.RpcController
-
setFailedOn
Sets an exception to be communicated back to theService
client.- Parameters:
ioe
- the exception encountered during execution of the service method
-
getFailedOn
Returns any exception thrown during service method invocation, ornull
if no exception was thrown. This can be used by clients to receive exceptions generated by RPC calls, even whenRpcCallback
s are used and noServiceException
is declared. -
failedOnException
Returns whether or not a server exception was generated in the prior RPC invocation. -
checkFailed
Throws an IOException back out if one is currently stored.- Throws:
IOException
-