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

Support dedicated user queues in Namenode FairCallQueue

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 2.10.0, 3.4.0
    • None
    • namenode

    Description

      Some service users today in namenode like ETL, metrics collection, ad-hoc users that are critical to run business critical job accounts for many traffic in namenode and shouldn't be throttled the same way as other individual users in FCQ.

      There is feature in namenode to always prioritize some service users to not subject to FCQ scheduling. (Those users are always p0) but it is not perfect and it doesn't account for traffic surge from those users.

      The idea is to allocate dedicated rpc queues for those service users with bounded queue capacity and allocate processing weight for those users. If queue is full, those users are expected to backoff and retry.

       

      New configs:

      "faircallqueue.reserved.users"; // list of service users that are assigned to dedicated queue
      "faircallqueue.reserved.users.max"; // max number of service users allowed
      "faircallqueue.reserved.users.capacities"; // custom queue capacities for each service user
      "faircallqueue.multiplexer.reserved.weights"; // processing weights for each dedicated queue

      For instance, for a FCQ with 4 priority levels, 2 reserved users(a, b)

      FCQ would look like:

       

      P0: shared queue
      P1: shared queue
      P2: shared queue
      P3: shared queue
      P4: dedicated for user a
      P5: dedicated for user b

      The Multiplexer would have following weights

      shared queue default weights: [8, 4, 2, 1]

      reserved queue weights=[3, 2]

      So user a gets 15% of total cycles, user b gets 10% of total cycles.

       

       

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              Lei Yang Lei Yang
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated: