Uploaded image for project: 'Hadoop HDFS'
  1. Hadoop HDFS
  2. HDFS-17359

EC: recheck failed streamers should only after flushing all packets.

    XMLWordPrintableJSON

Details

    Description

      In method DFSStripedOutputStream#checkStreamerFailures, we have below codes:

          Set<StripedDataStreamer> newFailed = checkStreamers();
          if (newFailed.size() == 0) {
            return;
          }    if (isNeedFlushAllPackets) {
            // for healthy streamers, wait till all of them have fetched the new block
            // and flushed out all the enqueued packets.
            flushAllInternals();
          }
          // recheck failed streamers again after the flush
          newFailed = checkStreamers(); 

      We should better move the re-check logic into if condition to reduce useless invocation.

      Attachments

        Issue Links

          Activity

            People

              zhanghaobo farmmamba
              zhanghaobo farmmamba
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: