Ivan Andika created HDDS-9392:
---------------------------------
Summary: Stream client should pick the nearest datanode as primary
node in pipeline mode
Key: HDDS-9392
URL: https://issues.apache.org/jira/browse/HDDS-9392
Project: Apache Ozone
Issue Type: Sub-task
Components: Ozone Client
Affects Versions: 1.3.0
Reporter: Ivan Andika
Assignee: Ivan Andika
In `BlockDataStreamOutput#setupStream`, if pipeline mode is enabled, we pass
the Pipeline object to the `RatisHelper#getRoutingTable`.
In `RatisHelper#getRoutingTable`, we pick the first datanode in the pipeline as
the primary, which from my understanding should be the Datanode closest to the
client. However, I'm unable to find the logic that sort the datanodes in the
pipeline.
>From what I understand, when we open the stream key and request SCM to
>allocate the block (`OMKeyRequest#allocateBlock`), we need to also pass the
>clientMachineString so that so that nearest datanodes will be used instead.
>This should improve the performance of the stream pipeline mode.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]