HDFS-17359. EC: recheck failed streamers should only after flushing all packets. (#6503). Contributed by farmmamba.

Signed-off-by: Takanobu Asanuma <tasanuma@apache.org>
This commit is contained in:
hfutatzhanghb 2024-02-01 22:53:37 +08:00 committed by GitHub
parent 2f1718c363
commit 4f4b846986
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -671,9 +671,9 @@ private void checkStreamerFailures(boolean isNeedFlushAllPackets)
// for healthy streamers, wait till all of them have fetched the new block // for healthy streamers, wait till all of them have fetched the new block
// and flushed out all the enqueued packets. // and flushed out all the enqueued packets.
flushAllInternals(); flushAllInternals();
// recheck failed streamers again after the flush
newFailed = checkStreamers();
} }
// recheck failed streamers again after the flush
newFailed = checkStreamers();
while (newFailed.size() > 0) { while (newFailed.size() > 0) {
failedStreamers.addAll(newFailed); failedStreamers.addAll(newFailed);
coordinator.clearFailureStates(); coordinator.clearFailureStates();