From ba43233451128118e999f51f7c52f2d50993b56e Mon Sep 17 00:00:00 2001 From: avijayanhwx <14299376+avijayanhwx@users.noreply.github.com> Date: Thu, 25 Jul 2019 07:54:46 -0700 Subject: [PATCH] HDDS-1749 : Ozone Client should randomize the list of nodes in pipeline for reads. (#1124) --- .../java/org/apache/hadoop/hdds/scm/XceiverClientGrpc.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientGrpc.java b/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientGrpc.java index eee813fd75b..9f99ab58ea7 100644 --- a/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientGrpc.java +++ b/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientGrpc.java @@ -54,6 +54,7 @@ import java.io.File; import java.io.IOException; +import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -269,6 +270,9 @@ private XceiverClientReply sendCommandWithRetry( datanodeList = pipeline.getNodesInOrder(); } else { datanodeList = pipeline.getNodes(); + // Shuffle datanode list so that clients do not read in the same order + // every time. + Collections.shuffle(datanodeList); } for (DatanodeDetails dn : datanodeList) { try {