diff --git a/client/src/main/java/org/apache/celeborn/client/read/CelebornInputStream.java b/client/src/main/java/org/apache/celeborn/client/read/CelebornInputStream.java index 032448188c0..7c6cd2dd986 100644 --- a/client/src/main/java/org/apache/celeborn/client/read/CelebornInputStream.java +++ b/client/src/main/java/org/apache/celeborn/client/read/CelebornInputStream.java @@ -467,7 +467,9 @@ private PartitionReader createReaderWithRetry( lastException = e; shuffleClient.excludeFailedFetchLocation(location.hostAndFetchPort(), e); fetchChunkRetryCnt++; - if (location.hasPeer() && !readSkewPartitionWithoutMapRange) { + if (location.hasPeer() + && !isExcluded(location.getPeer()) + && !readSkewPartitionWithoutMapRange) { // fetchChunkRetryCnt % 2 == 0 means both replicas have been tried, // so sleep before next try. if (fetchChunkRetryCnt % 2 == 0) {