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

Improve asynchronous edit: reduce the time that edit waits to enter editPendingQ

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Not A Bug
    • 2.9.2
    • None
    • fs async, namenode
    • None

    Description

      When dfs.namenode.edits.asynclogging=true, FSEditLogAsync starts to work, which is very helpful for improving the speed of NameNode processing Call.
      But there is a strange phenomenon here. When a lot of calls enter the NameNode through RPC within a period of time, the handler will be forced to wait, in seconds:
      FSEditLogAsync#enqueueEdit():
      if (Thread.holdsLock(this)) {
      int permits = overflowMutex.drainPermits();
      try {
      do

      { this.wait(1000); // will be notified by next logSync. }

      while (!editPendingQ.offer(edit));
      } finally

      { overflowMutex.release(permits); }

      }

      We should reduce this.wait(1000) here so that edit can be processed quickly.

      Attachments

        Activity

          People

            jianghuazhu JiangHua Zhu
            jianghuazhu JiangHua Zhu
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: