[ 
https://issues.apache.org/jira/browse/HDDS-15805?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz-wo Sze updated HDDS-15805:
------------------------------
    Description: 
NetworkTopologyImpl.sortByDistanceCost currently sort only by distance.  It 
should also account for racks, i.e. datanodes in the same rack should be next 
to each other.

|| Racks || Client/Datanodes ||
| R1 | Client |
| R2 | Dn1, Dn2 |
| R3 | Dn3 |

In the example above, the distances are the same so the current code may return 
Dn1, Dn3, Dn2.  Then the Client may stream Dn1 -> Dn3 -> Dn2 which 
unnecessarily crossing the racks one more time.

  was:
NetworkTopologyImpl.sortByDistanceCost currently sort only by distance.  It 
should also account for racks, i.e. datanodes in the same rack should be next 
to each other.

|| Racks || Client/Datanodes ||
| R1 | Client |
| R2 | Dn1, Dn2 |
| R3 | Dn3 |

In the example above, the current code may return Dn1, Dn3, Dn2.  Then the 
Client may stream Dn1 -> Dn3 -> Dn2 which unnecessarily crossing the racks 
twice.


> NetworkTopologyImpl.sortByDistanceCost should account for racks
> ---------------------------------------------------------------
>
>                 Key: HDDS-15805
>                 URL: https://issues.apache.org/jira/browse/HDDS-15805
>             Project: Apache Ozone
>          Issue Type: Sub-task
>          Components: SCM
>            Reporter: Tsz-wo Sze
>            Assignee: Tsz-wo Sze
>            Priority: Major
>
> NetworkTopologyImpl.sortByDistanceCost currently sort only by distance.  It 
> should also account for racks, i.e. datanodes in the same rack should be next 
> to each other.
> || Racks || Client/Datanodes ||
> | R1 | Client |
> | R2 | Dn1, Dn2 |
> | R3 | Dn3 |
> In the example above, the distances are the same so the current code may 
> return Dn1, Dn3, Dn2.  Then the Client may stream Dn1 -> Dn3 -> Dn2 which 
> unnecessarily crossing the racks one more time.



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