[
https://issues.apache.org/jira/browse/HDDS-9392?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Tsz-wo Sze resolved HDDS-9392.
------------------------------
Fix Version/s: 1.4.0
Resolution: Fixed
The pull request is now merged. Thanks, [~ivanandika]!
> Streaming write pipeline should pick the nearest datanode as primary node
> -------------------------------------------------------------------------
>
> Key: HDDS-9392
> URL: https://issues.apache.org/jira/browse/HDDS-9392
> Project: Apache Ozone
> Issue Type: Sub-task
> Components: OM, Ozone Client, SCM
> Affects Versions: 1.3.0
> Reporter: Ivan Andika
> Assignee: Ivan Andika
> Priority: Major
> Labels: pull-request-available
> Fix For: 1.4.0
>
>
> 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]