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

Edit log tailing fast-path should allow for backoff

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 3.3.0
    • 2.10.0, 3.0.4, 3.3.0, 3.2.1, 3.1.3
    • namenode, qjm
    • None

    Description

      As part of HDFS-13150, in-progress edit log tailing was changed to use an RPC-based mechanism, thus allowing the edit log tailing frequency to be turned way down, and allowing standby/observer NameNodes to be only a few milliseconds stale as compared to the Active NameNode.

      When there is a high volume of transactions on the system, each RPC fetches transactions and takes some time to process them, self-rate-limiting how frequently an RPC is submitted. In a lightly loaded cluster, however, most of these RPCs return an empty set of transactions, consuming a high (de)serialization overhead for very little benefit. This was reported by jojochuang in HDFS-14276 and I have also seen it on a test cluster where the SbNN was submitting 8000 RPCs per second that returned empty.

      I propose we add some sort of backoff to the tailing, so that if an empty response is received, it will wait a longer period of time before submitting a new RPC.

      Attachments

        1. HDFS-14370.000.patch
          8 kB
          Erik Krogen
        2. HDFS-14370.001.patch
          11 kB
          Erik Krogen
        3. HDFS-14370.002.patch
          11 kB
          Erik Krogen
        4. HDFS-14370.003.patch
          12 kB
          Erik Krogen
        5. HDFS-14370.004.patch
          14 kB
          Erik Krogen
        6. HDFS-14370.005.patch
          14 kB
          Erik Krogen

        Issue Links

          Activity

            People

              xkrogen Erik Krogen
              xkrogen Erik Krogen
              Votes:
              0 Vote for this issue
              Watchers:
              10 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: