Elek, Marton created HDDS-2067:
----------------------------------
Summary: Create generic service facade with
tracing/metrics/logging support
Key: HDDS-2067
URL: https://issues.apache.org/jira/browse/HDDS-2067
Project: Hadoop Distributed Data Store
Issue Type: Sub-task
Reporter: Elek, Marton
We started to use a message based GRPC approach. Wen have only one method and
the requests are routed based on a "type" field in the proto message.
For example in OM protocol:
{code}
/**
The OM service that takes care of Ozone namespace.
*/
service OzoneManagerService {
// A client-to-OM RPC to send client requests to OM Ratis server
rpc submitRequest(OMRequest)
returns(OMResponse);
}
{code}
And
{code}
message OMRequest {
required Type cmdType = 1; // Type of the command
...
{code}
This approach makes it possible to use the same code to process incoming
messages in the server side.
ScmBlockLocationProtocolServerSideTranslatorPB.send method contains the logic
of:
* Logging the request/response message (can be displayed with ozone insight)
* Updated metrics
* Handle open tracing context propagation.
These functions are generic. For example
OzoneManagerProtocolServerSideTranslatorPB use the same (=similar) code.
The goal in this jira is to provide a generic utility and move the common code
for tracing/request logging/response logging/metrics calculation to a common
utility which can be used from all the ServerSide translators.
--
This message was sent by Atlassian Jira
(v8.3.2#803003)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]