[ 
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]

Reply via email to