Uploaded image for project: 'Hadoop Common'
  1. Hadoop Common
  2. HADOOP-9953 Improve RPC server throughput
  3. HADOOP-9956

RPC listener inefficiently assigns connections to readers

VotersWatch issueWatchersLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.0.0-alpha, 3.0.0-alpha1
    • 0.23.10, 2.3.0
    • ipc
    • None
    • Reviewed

    Description

      The socket listener and readers use a complex synchronization to update the reader's NIO Selector. Updating active selectors is not thread-safe so precautions are required.

      However, the current locking choreography results in a serialized distribution of new connections to the parallel socket readers. A slower/busier reader can stall the listener and throttle performance.

      The problem manifests as unexpectedly low cpu utilization by the listener and readers (~20-30%) under heavy load. The call queue is shallow when it should be overflowing.

      Attachments

        1. HADOOP-9956.branch-23.patch
          13 kB
          Daryn Sharp
        2. HADOOP-9956.patch
          13 kB
          Daryn Sharp
        3. HADOOP-9956.patch
          5 kB
          Daryn Sharp

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            daryn Daryn Sharp
            daryn Daryn Sharp
            Votes:
            0 Vote for this issue
            Watchers:
            20 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Issue deployment