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]

Reply via email to