@InterfaceAudience.Private abstract class RpcConnection extends Object
Modifier and Type | Field and Description |
---|---|
protected CellBlockBuilder |
cellBlockBuilder |
protected Codec |
codec |
protected org.apache.hadoop.io.compress.CompressionCodec |
compressor |
protected org.apache.hadoop.conf.Configuration |
conf |
private Map<String,byte[]> |
connectionAttributes |
protected static boolean |
CRYPTO_AES_ENABLED_DEFAULT |
protected static String |
CRYPTO_AES_ENABLED_KEY |
private String |
lastSucceededServerPrincipal |
protected long |
lastTouched |
private static org.slf4j.Logger |
LOG |
protected MetricsConnection |
metrics |
protected SaslClientAuthenticationProvider |
provider |
protected int |
reloginMaxBackoff |
protected ConnectionId |
remoteId |
protected SecurityInfo |
securityInfo |
protected org.apache.hbase.thirdparty.io.netty.util.HashedWheelTimer |
timeoutTimer |
protected org.apache.hadoop.security.token.Token<? extends org.apache.hadoop.security.token.TokenIdentifier> |
token |
protected boolean |
useSasl |
Modifier | Constructor and Description |
---|---|
protected |
RpcConnection(org.apache.hadoop.conf.Configuration conf,
org.apache.hbase.thirdparty.io.netty.util.HashedWheelTimer timeoutTimer,
ConnectionId remoteId,
String clusterId,
boolean isSecurityEnabled,
Codec codec,
org.apache.hadoop.io.compress.CompressionCodec compressor,
CellBlockBuilder cellBlockBuilder,
MetricsConnection metrics,
Map<String,byte[]> connectionAttributes) |
Modifier and Type | Method and Description |
---|---|
protected abstract void |
callTimeout(Call call) |
protected String |
chooseServerPrincipal(Set<String> candidates,
Call securityPreambleCall) |
abstract void |
cleanupConnection()
Does the clean up work after the connection is removed from the connection pool
|
protected Call |
createSecurityPreambleCall(org.apache.hbase.thirdparty.com.google.protobuf.RpcCallback<Call> callback) |
private <T extends InputStream & DataInput> |
finishCall(org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ResponseHeader responseHeader,
T in,
Call call) |
protected org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeader |
getConnectionHeader() |
protected byte[] |
getConnectionHeaderPreamble() |
private static String |
getHostnameForServerPrincipal(org.apache.hadoop.conf.Configuration conf,
InetAddress addr) |
long |
getLastTouched() |
protected InetSocketAddress |
getRemoteInetAddress(MetricsConnection metrics) |
private static String |
getServerPrincipal(org.apache.hadoop.conf.Configuration conf,
String serverKey,
InetAddress server) |
protected Set<String> |
getServerPrincipals() |
abstract boolean |
isActive()
Tell the idle connection sweeper whether we could be swept.
|
protected boolean |
isKerberosAuth() |
protected <T> T |
randomSelect(Collection<T> c) |
(package private) <T extends InputStream & DataInput> |
readResponse(T in,
Map<Integer,Call> id2Call,
Call preambleCall,
Consumer<org.apache.hadoop.ipc.RemoteException> fatalConnectionErrorConsumer) |
ConnectionId |
remoteId() |
protected void |
saslNegotiationDone(String serverPrincipal,
boolean succeed) |
protected void |
scheduleTimeoutTask(Call call) |
abstract void |
sendRequest(Call call,
HBaseRpcController hrc) |
void |
setLastTouched(long lastTouched) |
abstract void |
shutdown()
Just close connection.
|
private static boolean |
useCanonicalHostname(org.apache.hadoop.conf.Configuration conf) |
private static final org.slf4j.Logger LOG
protected final ConnectionId remoteId
protected final boolean useSasl
protected final org.apache.hadoop.security.token.Token<? extends org.apache.hadoop.security.token.TokenIdentifier> token
protected final SecurityInfo securityInfo
protected final int reloginMaxBackoff
protected final org.apache.hadoop.io.compress.CompressionCodec compressor
protected final CellBlockBuilder cellBlockBuilder
protected final MetricsConnection metrics
private final Map<String,byte[]> connectionAttributes
protected final org.apache.hbase.thirdparty.io.netty.util.HashedWheelTimer timeoutTimer
protected final org.apache.hadoop.conf.Configuration conf
protected static String CRYPTO_AES_ENABLED_KEY
protected static boolean CRYPTO_AES_ENABLED_DEFAULT
protected long lastTouched
protected SaslClientAuthenticationProvider provider
private String lastSucceededServerPrincipal
protected RpcConnection(org.apache.hadoop.conf.Configuration conf, org.apache.hbase.thirdparty.io.netty.util.HashedWheelTimer timeoutTimer, ConnectionId remoteId, String clusterId, boolean isSecurityEnabled, Codec codec, org.apache.hadoop.io.compress.CompressionCodec compressor, CellBlockBuilder cellBlockBuilder, MetricsConnection metrics, Map<String,byte[]> connectionAttributes) throws IOException
IOException
protected final void scheduleTimeoutTask(Call call)
protected byte[] getConnectionHeaderPreamble()
protected final org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeader getConnectionHeader()
protected final InetSocketAddress getRemoteInetAddress(MetricsConnection metrics) throws UnknownHostException
UnknownHostException
private static boolean useCanonicalHostname(org.apache.hadoop.conf.Configuration conf)
private static String getHostnameForServerPrincipal(org.apache.hadoop.conf.Configuration conf, InetAddress addr)
private static String getServerPrincipal(org.apache.hadoop.conf.Configuration conf, String serverKey, InetAddress server) throws IOException
IOException
protected final boolean isKerberosAuth()
protected final Set<String> getServerPrincipals() throws IOException
IOException
protected final <T> T randomSelect(Collection<T> c)
protected final String chooseServerPrincipal(Set<String> candidates, Call securityPreambleCall) throws SaslException
SaslException
protected final void saslNegotiationDone(String serverPrincipal, boolean succeed)
protected abstract void callTimeout(Call call)
public ConnectionId remoteId()
public long getLastTouched()
public void setLastTouched(long lastTouched)
public abstract boolean isActive()
public abstract void shutdown()
public abstract void sendRequest(Call call, HBaseRpcController hrc) throws IOException
IOException
public abstract void cleanupConnection()
protected final Call createSecurityPreambleCall(org.apache.hbase.thirdparty.com.google.protobuf.RpcCallback<Call> callback)
private <T extends InputStream & DataInput> void finishCall(org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ResponseHeader responseHeader, T in, Call call) throws IOException
IOException
<T extends InputStream & DataInput> void readResponse(T in, Map<Integer,Call> id2Call, Call preambleCall, Consumer<org.apache.hadoop.ipc.RemoteException> fatalConnectionErrorConsumer) throws IOException
IOException
Copyright © 2007–2020 The Apache Software Foundation. All rights reserved.