@InterfaceAudience.Private public abstract class ServerCall<T extends ServerRpcConnection> extends Object implements RpcCall, RpcResponse
Modifier and Type | Field and Description |
---|---|
protected CellBlockBuilder |
cellBlockBuilder |
protected ByteBufferListOutputStream |
cellBlockStream |
protected CellScanner |
cellScanner |
protected T |
connection |
protected long |
deadline |
private long |
exceptionSize |
protected org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.RequestHeader |
header |
protected int |
id |
protected boolean |
isError |
protected org.apache.hbase.thirdparty.com.google.protobuf.Descriptors.MethodDescriptor |
md |
protected org.apache.hbase.thirdparty.com.google.protobuf.Message |
param |
protected long |
receiveTime |
private AtomicInteger |
reference |
protected InetAddress |
remoteAddress |
protected RpcServer.CallCleanup |
reqCleanup |
protected ByteBufferPool |
reservoir |
protected BufferChain |
response
Chain of buffers to send as response.
|
private long |
responseBlockSize |
private long |
responseCellSize |
private boolean |
retryImmediatelySupported |
protected RpcCallback |
rpcCallback |
protected org.apache.hbase.thirdparty.com.google.protobuf.BlockingService |
service |
protected long |
size |
protected long |
startTime |
protected int |
timeout |
protected User |
user |
Constructor and Description |
---|
ServerCall(int id,
org.apache.hbase.thirdparty.com.google.protobuf.BlockingService service,
org.apache.hbase.thirdparty.com.google.protobuf.Descriptors.MethodDescriptor md,
org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.RequestHeader header,
org.apache.hbase.thirdparty.com.google.protobuf.Message param,
CellScanner cellScanner,
T connection,
long size,
InetAddress remoteAddress,
long receiveTime,
int timeout,
ByteBufferPool reservoir,
CellBlockBuilder cellBlockBuilder,
RpcServer.CallCleanup reqCleanup) |
Modifier and Type | Method and Description |
---|---|
void |
cleanup()
Do the necessary cleanup after the call if needed.
|
private static ByteBuffer |
createHeaderAndMessageBytes(org.apache.hbase.thirdparty.com.google.protobuf.Message result,
org.apache.hbase.thirdparty.com.google.protobuf.Message header,
int totalSize,
int totalPBSize) |
(package private) static ByteBuffer |
createHeaderAndMessageBytes(org.apache.hbase.thirdparty.com.google.protobuf.Message result,
org.apache.hbase.thirdparty.com.google.protobuf.Message header,
int cellBlockSize,
List<ByteBuffer> cellBlock) |
long |
disconnectSince()
Check if the caller who made this IPC call has disconnected.
|
void |
done()
Call is done.
|
CellScanner |
getCellScanner() |
org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.VersionInfo |
getClientVersionInfo() |
long |
getDeadline()
Return the deadline of this call.
|
org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.RequestHeader |
getHeader() |
org.apache.hbase.thirdparty.com.google.protobuf.Descriptors.MethodDescriptor |
getMethod() |
org.apache.hbase.thirdparty.com.google.protobuf.Message |
getParam() |
int |
getPriority() |
long |
getReceiveTime() |
InetAddress |
getRemoteAddress() |
int |
getRemotePort() |
Optional<User> |
getRequestUser()
Returns the user credentials associated with the current RPC request or not present if no
credentials were provided.
|
BufferChain |
getResponse() |
long |
getResponseBlockSize() |
long |
getResponseCellSize()
The size of response cells that have been accumulated so far.
|
long |
getResponseExceptionSize() |
org.apache.hbase.thirdparty.com.google.protobuf.BlockingService |
getService() |
long |
getSize()
Used to calculate the request call queue size.
|
long |
getStartTime() |
int |
getTimeout() |
void |
incrementResponseBlockSize(long blockSize) |
void |
incrementResponseCellSize(long cellSize)
Add on the given amount to the retained cell size.
|
void |
incrementResponseExceptionSize(long exSize) |
boolean |
isClientCellBlockSupported()
If the client connected and specified a codec to use, then we will use this codec making
cellblocks to return.
|
boolean |
isRetryImmediatelySupported() |
private void |
release(int mask) |
void |
releaseByWAL() |
void |
retainByWAL() |
void |
setCallBack(RpcCallback callback)
Sets a callback which has to be executed at the end of this RPC call.
|
(package private) static void |
setExceptionResponse(Throwable t,
String errorMsg,
org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ResponseHeader.Builder headerBuilder) |
void |
setResponse(org.apache.hbase.thirdparty.com.google.protobuf.Message m,
CellScanner cells,
Throwable t,
String errorMsg)
Set the response resulting from this RPC call.
|
void |
setStartTime(long t)
Set the time when the call starts to be executed.
|
String |
toShortString() |
String |
toString() |
protected BufferChain |
wrapWithSasl(BufferChain bc) |
private static void |
writeToCOS(org.apache.hbase.thirdparty.com.google.protobuf.Message result,
org.apache.hbase.thirdparty.com.google.protobuf.Message header,
int totalSize,
ByteBuffer pbBuf) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
sendResponseIfReady
getRequestUserName
protected final int id
protected final org.apache.hbase.thirdparty.com.google.protobuf.BlockingService service
protected final org.apache.hbase.thirdparty.com.google.protobuf.Descriptors.MethodDescriptor md
protected final org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.RequestHeader header
protected org.apache.hbase.thirdparty.com.google.protobuf.Message param
protected final CellScanner cellScanner
protected final T extends ServerRpcConnection connection
protected final long receiveTime
protected final int timeout
protected long startTime
protected final long deadline
protected final ByteBufferPool reservoir
protected final CellBlockBuilder cellBlockBuilder
protected BufferChain response
protected final long size
protected boolean isError
protected ByteBufferListOutputStream cellBlockStream
protected RpcServer.CallCleanup reqCleanup
protected final InetAddress remoteAddress
protected RpcCallback rpcCallback
private long responseCellSize
private long responseBlockSize
private long exceptionSize
private final boolean retryImmediatelySupported
private final AtomicInteger reference
ServerCall(int id, org.apache.hbase.thirdparty.com.google.protobuf.BlockingService service, org.apache.hbase.thirdparty.com.google.protobuf.Descriptors.MethodDescriptor md, org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.RequestHeader header, org.apache.hbase.thirdparty.com.google.protobuf.Message param, CellScanner cellScanner, T connection, long size, InetAddress remoteAddress, long receiveTime, int timeout, ByteBufferPool reservoir, CellBlockBuilder cellBlockBuilder, RpcServer.CallCleanup reqCleanup)
public void done()
done
in interface RpcResponse
private void release(int mask)
public void cleanup()
RpcCall
public void retainByWAL()
public void releaseByWAL()
public org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.RequestHeader getHeader()
public int getPriority()
getPriority
in interface RpcCall
public String toShortString()
toShortString
in interface RpcCall
public void setResponse(org.apache.hbase.thirdparty.com.google.protobuf.Message m, CellScanner cells, Throwable t, String errorMsg)
RpcCall
setResponse
in interface RpcCall
m
- The result message as response.cells
- The CellScanner that possibly carries the payload.t
- The error Throwable resulting from the call.errorMsg
- Extra error message.static void setExceptionResponse(Throwable t, String errorMsg, org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ResponseHeader.Builder headerBuilder)
static ByteBuffer createHeaderAndMessageBytes(org.apache.hbase.thirdparty.com.google.protobuf.Message result, org.apache.hbase.thirdparty.com.google.protobuf.Message header, int cellBlockSize, List<ByteBuffer> cellBlock) throws IOException
IOException
private static void writeToCOS(org.apache.hbase.thirdparty.com.google.protobuf.Message result, org.apache.hbase.thirdparty.com.google.protobuf.Message header, int totalSize, ByteBuffer pbBuf) throws IOException
IOException
private static ByteBuffer createHeaderAndMessageBytes(org.apache.hbase.thirdparty.com.google.protobuf.Message result, org.apache.hbase.thirdparty.com.google.protobuf.Message header, int totalSize, int totalPBSize) throws IOException
IOException
protected BufferChain wrapWithSasl(BufferChain bc) throws IOException
IOException
public long disconnectSince()
RpcCallContext
disconnectSince
in interface RpcCallContext
public boolean isClientCellBlockSupported()
RpcCallContext
isClientCellBlockSupported
in interface RpcCallContext
public long getResponseCellSize()
RpcCallContext
getResponseCellSize
in interface RpcCallContext
public void incrementResponseCellSize(long cellSize)
RpcCallContext
incrementResponseCellSize
in interface RpcCallContext
public long getResponseBlockSize()
getResponseBlockSize
in interface RpcCallContext
public void incrementResponseBlockSize(long blockSize)
incrementResponseBlockSize
in interface RpcCallContext
public long getResponseExceptionSize()
getResponseExceptionSize
in interface RpcCallContext
public void incrementResponseExceptionSize(long exSize)
incrementResponseExceptionSize
in interface RpcCallContext
public long getSize()
RpcCall
public long getDeadline()
RpcCall
getDeadline
in interface RpcCall
public Optional<User> getRequestUser()
RpcCallContext
getRequestUser
in interface RpcCallContext
public InetAddress getRemoteAddress()
getRemoteAddress
in interface RpcCallContext
public org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.VersionInfo getClientVersionInfo()
getClientVersionInfo
in interface RpcCallContext
public void setCallBack(RpcCallback callback)
RpcCallContext
setCallBack
in interface RpcCallContext
public boolean isRetryImmediatelySupported()
isRetryImmediatelySupported
in interface RpcCallContext
public org.apache.hbase.thirdparty.com.google.protobuf.BlockingService getService()
getService
in interface RpcCall
public org.apache.hbase.thirdparty.com.google.protobuf.Descriptors.MethodDescriptor getMethod()
public org.apache.hbase.thirdparty.com.google.protobuf.Message getParam()
public CellScanner getCellScanner()
getCellScanner
in interface RpcCall
public long getReceiveTime()
getReceiveTime
in interface RpcCall
public long getStartTime()
getStartTime
in interface RpcCall
public void setStartTime(long t)
RpcCall
setStartTime
in interface RpcCall
public int getTimeout()
getTimeout
in interface RpcCall
public int getRemotePort()
getRemotePort
in interface RpcCall
public BufferChain getResponse()
getResponse
in interface RpcResponse
Copyright © 2007–2020 The Apache Software Foundation. All rights reserved.