Get desktop application:
View/edit binary Protocol Buffers messages
* Protocol which is used to refresh a user-specified feature.
* Refresh request.
* Collection of responses from zero or more handlers.
* Protocol which maps users to groups.
* Get the groups which are mapped to the given user.
* Get groups for user request.
* Response for get groups.
* Protocol interface provides High availability related primitives to monitor and failover a service. For details see o.a.h.ha.HAServiceProtocol.
* Monitor the health of a service.
* void request
(message has no fields)
* void response
(message has no fields)
* Request service to tranisition to active state.
* void request
* void response
(message has no fields)
* Request service to transition to standby state.
* void request
* void response
(message has no fields)
* Request service to transition to observer state.
* void request
* void response
(message has no fields)
* Get the current status of the service.
* void request
(message has no fields)
* Returns the state of the service
If state is STANDBY, indicate whether it is ready to become active.
If not ready to become active, a textual explanation of why not
* Protocol to get information about protocols.
* Return protocol version corresponding to protocol interface for each supported rpc kind.
* Request to get protocol versions for all supported rpc kinds.
Protocol name
* Get protocol version response.
* Return protocol version corresponding to protocol interface.
* Get protocol signature request.
Protocol name
RPC kind
* Get protocol signature response.
* Protocol which is used to refresh the authorization policy in use currently.
* Refresh the service-level authorization policy in-effect.
* Refresh service acl request.
(message has no fields)
* void response
(message has no fields)
* Protocol which is used to refresh the callqueue.
* Refresh the callqueue.
* Refresh callqueue request.
(message has no fields)
* void response.
(message has no fields)
* Protocol to refresh the user mappings.
* Refresh user to group mappings.
* Refresh user to group mappings request.
(message has no fields)
* void response
(message has no fields)
* Refresh superuser proxy group list.
* Refresh superuser configuration request.
(message has no fields)
* void response
(message has no fields)
(message has no fields)
(message has no fields)
* Protocol provides manual control of the ZK Failover Controllers
* Request that the service cede its active state, and quit the election for some amount of time
(message has no fields)
(message has no fields)
(message has no fields)
Used as request type in: hdfs.ClientNamenodeProtocol.cancelDelegationToken
void response
Used as response type in: hdfs.ClientNamenodeProtocol.cancelDelegationToken
(message has no fields)
Used in:
Used in:
* A single response from a refresh handler.
Used in:
unix exit status to return
to be displayed to the user
which handler sent this message
Used as request type in: hdfs.ClientNamenodeProtocol.getDelegationToken
Used as response type in: hdfs.ClientNamenodeProtocol.getDelegationToken
Used in:
Used in:
,Used in:
, ,* The connection context is sent as part of the connection establishment. It establishes the context for ALL Rpc calls within the connection.
UserInfo beyond what is determined as part of security handshake at connection time (kerberos, tokens etc).
Protocol name for next rpc layer. The client created a proxy with this protocol name
Used in:
* Protocol version with corresponding rpc kind.
Used in:
RPC kind
Protocol version corresponding to the rpc kind.
* Used to pass through the call context entry after an RPC is made.
Used in:
* Used to pass through the information necessary to continue a trace after an RPC is made. All we need is the traceid (so we know the overarching trace this message is a part of), and the id of the current span when this message was sent, so we know what span caused the new span we will create when this message is received.
Used in:
parentIdHigh
parentIdLow
Used as request type in: hdfs.ClientNamenodeProtocol.renewDelegationToken
Used as response type in: hdfs.ClientNamenodeProtocol.renewDelegationToken
* This message is the header for the Protobuf Rpc Engine when sending a RPC request from RPC client to the RPC server. The actual request (serialized as protobuf) follows this request. No special header is needed for the Rpc Response for Protobuf Rpc Engine. The normal RPC response header (see RpcHeader.proto) are sufficient.
* Name of the RPC method
* RPCs for a particular interface (ie protocol) are done using a IPC connection that is setup using rpcProxy. The rpcProxy's has a declared protocol name that is sent form client to server at connection time. Each Rpc call also sends a protocol name (called declaringClassprotocolName). This name is usually the same as the connection protocol name except in some cases. For example metaProtocols such ProtocolInfoProto which get metainfo about the protocol reuse the connection but need to indicate that the actual protocol is different (i.e. the protocol is ProtocolInfoProto) since they reuse the connection; in this case the declaringClassProtocolName field is set to the ProtocolInfoProto
* protocol version of class declaring the called method
* RpcKind determine the rpcEngine and the serialization of the rpc request
Used in:
Used for built in calls by tests
Use WritableRpcEngine
Use ProtobufRpcEngine
the header for the RpcRequest
a sequence number that is sent back in response
Globally unique client ID
clientId + callId uniquely identifies a request retry count, 1 means this is the first retry
tracing info
call context
The last seen Global State ID
Used in:
The final RPC Packet
not implemented yet
close the rpc connection
* Rpc Response Header +------------------------------------------------------------------+ | Rpc total response length in bytes (4 bytes int) | | (sum of next two parts) | +------------------------------------------------------------------+ | RpcResponseHeaderProto - serialized delimited ie has len | +------------------------------------------------------------------+ | if request is successful: | | - RpcResponse - The actual rpc response bytes follow | | the response header | | This response is serialized based on RpcKindProto | | if request fails : | | The rpc response header contains the necessary info | +------------------------------------------------------------------+ Note that rpc response header is also used when connection setup fails. Ie the response looks like a rpc response with a fake callId.
* RpcStastus - success or failure The reponseHeader's errDetail, exceptionClassName and errMsg contains further details on the error
callId used in Request
Sent if success or fail
if request fails
if request fails, often contains strack trace
in case of error
Globally unique client ID
The last written Global State ID
Used in:
Non-fatal Rpc error - connection left open for future rpc calls
RPC Failed - rpc app threw exception
Rpc error - no such method
Rpc error - no such protocol
Rpc error on server side
error serializign response
Rpc protocol version mismatch
Fatal Server side Rpc error - connection closed
unknown Fatal error
IPC layer serilization type invalid
fields of RpcHeader are invalid
could not deserilize rpc request
Ipc Layer version mismatch
Auth failed
Used in:
RPC succeeded
RPC or error - connection left open for future calls
Fatal error - connection closed
Used in:
Used in:
Used in:
* Security token identifier
Used in:
, , , , , , ,* Spec for UserInformationProto is specified in ProtoUtil#makeIpcConnectionContext
Used in: