Package org.apache.hadoop.hbase.ipc
Class ServerRpcController
java.lang.Object
org.apache.hadoop.hbase.ipc.ServerRpcController
- All Implemented Interfaces:
org.apache.hbase.thirdparty.com.google.protobuf.RpcController
@Private
public class ServerRpcController
extends Object
implements org.apache.hbase.thirdparty.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 withincom.google.protobuf.Service#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
(org.apache.hbase.thirdparty.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 withincom.google.protobuf.Service#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 interfaceorg.apache.hbase.thirdparty.com.google.protobuf.RpcController
-
failed
- Specified by:
failed
in interfaceorg.apache.hbase.thirdparty.com.google.protobuf.RpcController
-
errorText
- Specified by:
errorText
in interfaceorg.apache.hbase.thirdparty.com.google.protobuf.RpcController
-
startCancel
- Specified by:
startCancel
in interfaceorg.apache.hbase.thirdparty.com.google.protobuf.RpcController
-
setFailed
- Specified by:
setFailed
in interfaceorg.apache.hbase.thirdparty.com.google.protobuf.RpcController
-
isCanceled
- Specified by:
isCanceled
in interfaceorg.apache.hbase.thirdparty.com.google.protobuf.RpcController
-
notifyOnCancel
public void notifyOnCancel(org.apache.hbase.thirdparty.com.google.protobuf.RpcCallback<Object> objectRpcCallback) - Specified by:
notifyOnCancel
in interfaceorg.apache.hbase.thirdparty.com.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
-