Hadoop Common
  1. Hadoop Common
  2. HADOOP-9640 RPC Congestion Control with FairCallQueue
  3. HADOOP-10282

Create a FairCallQueue: a multi-level call queue which schedules incoming calls and multiplexes outgoing calls

    Details

    • Type: Sub-task Sub-task
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None
    • Hadoop Flags:
      Reviewed

      Description

      The FairCallQueue ensures quality of service by altering the order of RPC calls internally.

      It consists of three parts:
      1. a Scheduler (`HistoryRpcScheduler` is provided) which provides a priority number from 0 to N (0 being highest priority)
      2. a Multi-level queue (residing in `FairCallQueue`) which provides a way to keep calls in priority order internally
      3. a Multiplexer (`WeightedRoundRobinMultiplexer` is provided) which provides logic to control which queue to take from

      Currently the Mux and Scheduler are not pluggable, but they probably should be (up for discussion).

      This is how it is used:

      // Production
      1. Call is created and given to the CallQueueManager
      2. CallQueueManager requests a `put(T call)` into the `FairCallQueue` which implements `BlockingQueue`
      3. `FairCallQueue` asks its scheduler for a scheduling decision, which is an integer e.g. 12
      4. `FairCallQueue` inserts Call into the 12th queue: `queues.get(12).put(call)`

      // Consumption
      1. CallQueueManager requests `take()` or `poll()` on FairCallQueue
      2. `FairCallQueue` asks its multiplexer for which queue to draw from, which will also be an integer e.g. 2
      3. `FairCallQueue` draws from this queue if it has an available call (or tries other queues if it is empty)

      Additional information is available in the linked JIRAs regarding the Scheduler and Multiplexer's roles.

      1. HADOOP-10282.patch
        29 kB
        Chris Li
      2. HADOOP-10282.patch
        29 kB
        Chris Li
      3. HADOOP-10282.patch
        25 kB
        Chris Li
      4. HADOOP-10282.patch
        25 kB
        Chris Li

        Issue Links

          Activity

          Hide
          Chris Li added a comment -

          Update with latest version of the FCQ to get preliminary feedback

          Show
          Chris Li added a comment - Update with latest version of the FCQ to get preliminary feedback
          Hide
          Arpit Agarwal added a comment -

          Hi Chris, all the Jiras HADOOP-10279, HADOOP-10281 and HADOOP-10282 just add new files.

          How are they meant to plugin to the existing code? Perhaps I forgot some context on the changes so if this is described elsewhere, can you just give me a pointer?

          Thanks!

          Show
          Arpit Agarwal added a comment - Hi Chris, all the Jiras HADOOP-10279 , HADOOP-10281 and HADOOP-10282 just add new files. How are they meant to plugin to the existing code? Perhaps I forgot some context on the changes so if this is described elsewhere, can you just give me a pointer? Thanks!
          Hide
          Chris Li added a comment -

          Hi Arapit,

          Check out HADOOP-10278, which allows the default LinkedBlockingQueue to be swapped with any implementor of BlockingQueue. The FairCallQueue is one such implementor of BlockingQueue.

          Show
          Chris Li added a comment - Hi Arapit, Check out HADOOP-10278 , which allows the default LinkedBlockingQueue to be swapped with any implementor of BlockingQueue. The FairCallQueue is one such implementor of BlockingQueue.
          Hide
          Arpit Agarwal added a comment -

          Hi Chris,

          I reviewed this patch before its dependencies. My comments below:

          1. Initial question - FairCallQueue will not be on by default, correct?
          2. Do you need a configuration prefix (ns) or can you use a hardcoded setting name? If the name is constructed dynamically it makes it difficult to find usages in the code.
          3. Will these settings be documented and if so then where?
          4. FairCallQueue#put violates the contract of BlockingQueue#put, which states that put must wait indefinitely for space to become available.
          5. FairCallQueue#put - can we wraparound priorityLevel to zero?
          6. FairCallQueue#getFirstNonEmptyQueue - javadoc should be returns the first non-empty queue.
          7. I am curious why do you need a Reentrant lock? If it is not acquired recursively can it be replaced with a different synchronization primitive?
          8. Javadoc on #take also violates the contract of its overridden method which states that it Retrieves and removes the head of this queue, waiting if necessary until an element becomes available. However it looks like it does not actually return null in practice. So perhaps we just need to fix the Javadoc?
          9. I am also unsureabout this comment - As such, one should prefer poll() over take(). There is no such expectation of BlockingQueue#take. Is the comment necessary?
          10. FairCallQueue#iterator - should it just throw NotImplementedException?
          11. Nitpick: spurriously -> spuriously

          I am still reviewing TestFairCallQueue.java.

          Show
          Arpit Agarwal added a comment - Hi Chris, I reviewed this patch before its dependencies. My comments below: Initial question - FairCallQueue will not be on by default, correct? Do you need a configuration prefix ( ns ) or can you use a hardcoded setting name? If the name is constructed dynamically it makes it difficult to find usages in the code. Will these settings be documented and if so then where? FairCallQueue#put violates the contract of BlockingQueue#put , which states that put must wait indefinitely for space to become available. FairCallQueue#put - can we wraparound priorityLevel to zero? FairCallQueue#getFirstNonEmptyQueue - javadoc should be returns the first non-empty queue . I am curious why do you need a Reentrant lock? If it is not acquired recursively can it be replaced with a different synchronization primitive? Javadoc on #take also violates the contract of its overridden method which states that it Retrieves and removes the head of this queue, waiting if necessary until an element becomes available . However it looks like it does not actually return null in practice. So perhaps we just need to fix the Javadoc? I am also unsureabout this comment - As such, one should prefer poll() over take() . There is no such expectation of BlockingQueue#take . Is the comment necessary? FairCallQueue#iterator - should it just throw NotImplementedException ? Nitpick: spurriously -> spuriously I am still reviewing TestFairCallQueue.java.
          Hide
          Arpit Agarwal added a comment -

          Minor comments on TestFairCallQueue.java, looks fine otherwise.

          1. Missing @Override annotation on Putter#run and Taker#run.
          2. Putter#stop - unused method?
          Show
          Arpit Agarwal added a comment - Minor comments on TestFairCallQueue.java, looks fine otherwise. Missing @Override annotation on Putter#run and Taker#run . Putter#stop - unused method?
          Hide
          Chris Li added a comment -

          Hi Arpit,

          1. LinkedBlockingQueue will be on by default, this can be enabled in the config
          2. Because there can be multiple RPC servers, we need to have the configs specify which server. It was Suresh Srinivas's idea to use port number to do this.
          3. I'm not sure where the right place will be to document this.
          4. Whoops, is fixed in this new patch. Turns out that dropping calls is a terrible thing for the client.
          5. Do you mean to .put() on the high priority queue? That would allow the current user to be serviced the fastest, but it might cause starvation of other requests if the queue is constantly waiting to put on queue 0
          6. Thanks
          7. Suppose so... I think prior versions of this did use that lock recursively. Any preferences?
          8, 9. Actually take() will never be used in hadoop(), maybe it shouldn't even be implemented? The CallQueueManager uses poll() with timeout. I don't remember why take was so bad, it might be possible to take(), block, and never get a result even though something is in the queue...
          10. Sounds good.
          11. As you know I can't spell

          Uploaded new patch to fix some of these issues

          Show
          Chris Li added a comment - Hi Arpit, 1. LinkedBlockingQueue will be on by default, this can be enabled in the config 2. Because there can be multiple RPC servers, we need to have the configs specify which server. It was Suresh Srinivas 's idea to use port number to do this. 3. I'm not sure where the right place will be to document this. 4. Whoops, is fixed in this new patch. Turns out that dropping calls is a terrible thing for the client. 5. Do you mean to .put() on the high priority queue? That would allow the current user to be serviced the fastest, but it might cause starvation of other requests if the queue is constantly waiting to put on queue 0 6. Thanks 7. Suppose so... I think prior versions of this did use that lock recursively. Any preferences? 8, 9. Actually take() will never be used in hadoop(), maybe it shouldn't even be implemented? The CallQueueManager uses poll() with timeout. I don't remember why take was so bad, it might be possible to take(), block, and never get a result even though something is in the queue... 10. Sounds good. 11. As you know I can't spell Uploaded new patch to fix some of these issues
          Hide
          Arpit Agarwal added a comment -

          2,3. Let's open a sub-task of HADOOP-9640 for documentation. We don't have to decide it right now.
          5. Makes sense why priorityLevel doesn't wraparound to 0.
          8,9. I think you warned against using take() because of this comment - it is possible to return null even though something is in the queue at any moment. However I don't see a code path in which take() could ever return null. So we can leave the implementation in place and just drop the Javadoc?

          +1 otherwise, pending HADOOP-10281 and Jenkins.

          Thanks.

          Show
          Arpit Agarwal added a comment - 2,3. Let's open a sub-task of HADOOP-9640 for documentation. We don't have to decide it right now. 5. Makes sense why priorityLevel doesn't wraparound to 0. 8,9. I think you warned against using take() because of this comment - it is possible to return null even though something is in the queue at any moment . However I don't see a code path in which take() could ever return null. So we can leave the implementation in place and just drop the Javadoc? +1 otherwise, pending HADOOP-10281 and Jenkins. Thanks.
          Hide
          Arpit Agarwal added a comment -

          8,9. I think you warned against using take() because of this comment - it is possible to return null even though something is in the queue at any moment. However I don't see a code path in which take() could ever return null. So we can leave the implementation in place and just drop the Javadoc?

          Hi Chris, any thoughts on this?

          Show
          Arpit Agarwal added a comment - 8,9. I think you warned against using take() because of this comment - it is possible to return null even though something is in the queue at any moment. However I don't see a code path in which take() could ever return null. So we can leave the implementation in place and just drop the Javadoc? Hi Chris, any thoughts on this?
          Hide
          Chris Li added a comment -

          I think you're right, that doc was from an older version without that quirk. Attaching patch with revised doc shortly.

          Show
          Chris Li added a comment - I think you're right, that doc was from an older version without that quirk. Attaching patch with revised doc shortly.
          Hide
          Chris Li added a comment -

          Hi Arpit Agarwal sorry for the delay, I wanted to fix up the tests for more isolation from the mux and scheduler.

          I remember why I made that comment now, it's because poll() without timeunit and peek() don't acquire the takeLock, so it is possible for poll()/peek() to return null even though something is in the queue. This doesn't affect hadoop since hadoop uses poll(long, TimeUnit) exclusively.

          I wanted to get this patch out asap, but I think it would also be good to have pluggable schedulers and multiplexers in the FCQ itself, as it enables some cool stuff like HADOOP-10598. I will open another issue for making pluggable schedulers/muxes.

          Show
          Chris Li added a comment - Hi Arpit Agarwal sorry for the delay, I wanted to fix up the tests for more isolation from the mux and scheduler. I remember why I made that comment now, it's because poll() without timeunit and peek() don't acquire the takeLock, so it is possible for poll()/peek() to return null even though something is in the queue. This doesn't affect hadoop since hadoop uses poll(long, TimeUnit) exclusively. I wanted to get this patch out asap, but I think it would also be good to have pluggable schedulers and multiplexers in the FCQ itself, as it enables some cool stuff like HADOOP-10598 . I will open another issue for making pluggable schedulers/muxes.
          Hide
          Hadoop QA added a comment -

          -1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12662970/HADOOP-10282.patch
          against trunk revision .

          +1 @author. The patch does not contain any @author tags.

          +1 tests included. The patch appears to include 1 new or modified test files.

          -1 javac. The applied patch generated 1264 javac compiler warnings (more than the trunk's current 1260 warnings).

          +1 javadoc. There were no new javadoc warning messages.

          +1 eclipse:eclipse. The patch built with eclipse:eclipse.

          +1 findbugs. The patch does not introduce any new Findbugs (version 2.0.3) warnings.

          +1 release audit. The applied patch does not increase the total number of release audit warnings.

          +1 core tests. The patch passed unit tests in hadoop-common-project/hadoop-common.

          +1 contrib tests. The patch passed contrib unit tests.

          Test results: https://builds.apache.org/job/PreCommit-HADOOP-Build/4512//testReport/
          Javac warnings: https://builds.apache.org/job/PreCommit-HADOOP-Build/4512//artifact/trunk/patchprocess/diffJavacWarnings.txt
          Console output: https://builds.apache.org/job/PreCommit-HADOOP-Build/4512//console

          This message is automatically generated.

          Show
          Hadoop QA added a comment - -1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12662970/HADOOP-10282.patch against trunk revision . +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 1 new or modified test files. -1 javac . The applied patch generated 1264 javac compiler warnings (more than the trunk's current 1260 warnings). +1 javadoc . There were no new javadoc warning messages. +1 eclipse:eclipse . The patch built with eclipse:eclipse. +1 findbugs . The patch does not introduce any new Findbugs (version 2.0.3) warnings. +1 release audit . The applied patch does not increase the total number of release audit warnings. +1 core tests . The patch passed unit tests in hadoop-common-project/hadoop-common. +1 contrib tests . The patch passed contrib unit tests. Test results: https://builds.apache.org/job/PreCommit-HADOOP-Build/4512//testReport/ Javac warnings: https://builds.apache.org/job/PreCommit-HADOOP-Build/4512//artifact/trunk/patchprocess/diffJavacWarnings.txt Console output: https://builds.apache.org/job/PreCommit-HADOOP-Build/4512//console This message is automatically generated.
          Hide
          Arpit Agarwal added a comment -

          Thanks Chris. It looks like the patch introduced new warnings. I am +1 with the warnings fixed.

          Show
          Arpit Agarwal added a comment - Thanks Chris. It looks like the patch introduced new warnings. I am +1 with the warnings fixed.
          Hide
          Chris Li added a comment -

          Hopefully this fixes the unchecked assignment warnings

          Show
          Chris Li added a comment - Hopefully this fixes the unchecked assignment warnings
          Hide
          Hadoop QA added a comment -

          -1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12663541/HADOOP-10282.patch
          against trunk revision .

          +1 @author. The patch does not contain any @author tags.

          +1 tests included. The patch appears to include 1 new or modified test files.

          +1 javac. The applied patch does not increase the total number of javac compiler warnings.

          +1 javadoc. There were no new javadoc warning messages.

          +1 eclipse:eclipse. The patch built with eclipse:eclipse.

          +1 findbugs. The patch does not introduce any new Findbugs (version 2.0.3) warnings.

          -1 release audit. The applied patch generated 3 release audit warnings.

          +1 core tests. The patch passed unit tests in hadoop-common-project/hadoop-common.

          +1 contrib tests. The patch passed contrib unit tests.

          Test results: https://builds.apache.org/job/PreCommit-HADOOP-Build/4528//testReport/
          Release audit warnings: https://builds.apache.org/job/PreCommit-HADOOP-Build/4528//artifact/trunk/patchprocess/patchReleaseAuditProblems.txt
          Console output: https://builds.apache.org/job/PreCommit-HADOOP-Build/4528//console

          This message is automatically generated.

          Show
          Hadoop QA added a comment - -1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12663541/HADOOP-10282.patch against trunk revision . +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 1 new or modified test files. +1 javac . The applied patch does not increase the total number of javac compiler warnings. +1 javadoc . There were no new javadoc warning messages. +1 eclipse:eclipse . The patch built with eclipse:eclipse. +1 findbugs . The patch does not introduce any new Findbugs (version 2.0.3) warnings. -1 release audit . The applied patch generated 3 release audit warnings. +1 core tests . The patch passed unit tests in hadoop-common-project/hadoop-common. +1 contrib tests . The patch passed contrib unit tests. Test results: https://builds.apache.org/job/PreCommit-HADOOP-Build/4528//testReport/ Release audit warnings: https://builds.apache.org/job/PreCommit-HADOOP-Build/4528//artifact/trunk/patchprocess/patchReleaseAuditProblems.txt Console output: https://builds.apache.org/job/PreCommit-HADOOP-Build/4528//console This message is automatically generated.
          Hide
          Arpit Agarwal added a comment -

          Committed to trunk and branch-2.

          Thanks for the contribution Chris Li.

          Show
          Arpit Agarwal added a comment - Committed to trunk and branch-2. Thanks for the contribution Chris Li .
          Hide
          Hudson added a comment -

          FAILURE: Integrated in Hadoop-trunk-Commit #6101 (See https://builds.apache.org/job/Hadoop-trunk-Commit/6101/)
          HADOOP-10282. Create a FairCallQueue: a multi-level call queue which schedules incoming calls and multiplexes outgoing calls. (Contributed by Chris Li) (arp: http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1619938)

          • /hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
          • /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/FairCallQueue.java
          • /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/FairCallQueueMXBean.java
          • /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/RpcMultiplexer.java
          • /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/WeightedRoundRobinMultiplexer.java
          • /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/ipc/TestFairCallQueue.java
          Show
          Hudson added a comment - FAILURE: Integrated in Hadoop-trunk-Commit #6101 (See https://builds.apache.org/job/Hadoop-trunk-Commit/6101/ ) HADOOP-10282 . Create a FairCallQueue: a multi-level call queue which schedules incoming calls and multiplexes outgoing calls. (Contributed by Chris Li) (arp: http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1619938 ) /hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/FairCallQueue.java /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/FairCallQueueMXBean.java /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/RpcMultiplexer.java /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/WeightedRoundRobinMultiplexer.java /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/ipc/TestFairCallQueue.java
          Hide
          Chris Li added a comment -

          Thanks!

          Up next some minor patches:

          HADOOP-10283 makes the FairCallQueue more customizable
          HADOOP-10286 allows for instrumentation of IPC performance for multiple users

          Show
          Chris Li added a comment - Thanks! Up next some minor patches: HADOOP-10283 makes the FairCallQueue more customizable HADOOP-10286 allows for instrumentation of IPC performance for multiple users
          Hide
          Hudson added a comment -

          SUCCESS: Integrated in Hadoop-Yarn-trunk #655 (See https://builds.apache.org/job/Hadoop-Yarn-trunk/655/)
          HADOOP-10282. Create a FairCallQueue: a multi-level call queue which schedules incoming calls and multiplexes outgoing calls. (Contributed by Chris Li) (arp: http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1619938)

          • /hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
          • /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/FairCallQueue.java
          • /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/FairCallQueueMXBean.java
          • /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/RpcMultiplexer.java
          • /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/WeightedRoundRobinMultiplexer.java
          • /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/ipc/TestFairCallQueue.java
          Show
          Hudson added a comment - SUCCESS: Integrated in Hadoop-Yarn-trunk #655 (See https://builds.apache.org/job/Hadoop-Yarn-trunk/655/ ) HADOOP-10282 . Create a FairCallQueue: a multi-level call queue which schedules incoming calls and multiplexes outgoing calls. (Contributed by Chris Li) (arp: http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1619938 ) /hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/FairCallQueue.java /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/FairCallQueueMXBean.java /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/RpcMultiplexer.java /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/WeightedRoundRobinMultiplexer.java /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/ipc/TestFairCallQueue.java
          Hide
          Hudson added a comment -

          SUCCESS: Integrated in Hadoop-Hdfs-trunk #1846 (See https://builds.apache.org/job/Hadoop-Hdfs-trunk/1846/)
          HADOOP-10282. Create a FairCallQueue: a multi-level call queue which schedules incoming calls and multiplexes outgoing calls. (Contributed by Chris Li) (arp: http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1619938)

          • /hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
          • /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/FairCallQueue.java
          • /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/FairCallQueueMXBean.java
          • /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/RpcMultiplexer.java
          • /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/WeightedRoundRobinMultiplexer.java
          • /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/ipc/TestFairCallQueue.java
          Show
          Hudson added a comment - SUCCESS: Integrated in Hadoop-Hdfs-trunk #1846 (See https://builds.apache.org/job/Hadoop-Hdfs-trunk/1846/ ) HADOOP-10282 . Create a FairCallQueue: a multi-level call queue which schedules incoming calls and multiplexes outgoing calls. (Contributed by Chris Li) (arp: http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1619938 ) /hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/FairCallQueue.java /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/FairCallQueueMXBean.java /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/RpcMultiplexer.java /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/WeightedRoundRobinMultiplexer.java /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/ipc/TestFairCallQueue.java
          Hide
          Hudson added a comment -

          FAILURE: Integrated in Hadoop-Mapreduce-trunk #1872 (See https://builds.apache.org/job/Hadoop-Mapreduce-trunk/1872/)
          HADOOP-10282. Create a FairCallQueue: a multi-level call queue which schedules incoming calls and multiplexes outgoing calls. (Contributed by Chris Li) (arp: http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1619938)

          • /hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
          • /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/FairCallQueue.java
          • /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/FairCallQueueMXBean.java
          • /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/RpcMultiplexer.java
          • /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/WeightedRoundRobinMultiplexer.java
          • /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/ipc/TestFairCallQueue.java
          Show
          Hudson added a comment - FAILURE: Integrated in Hadoop-Mapreduce-trunk #1872 (See https://builds.apache.org/job/Hadoop-Mapreduce-trunk/1872/ ) HADOOP-10282 . Create a FairCallQueue: a multi-level call queue which schedules incoming calls and multiplexes outgoing calls. (Contributed by Chris Li) (arp: http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1619938 ) /hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/FairCallQueue.java /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/FairCallQueueMXBean.java /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/RpcMultiplexer.java /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/WeightedRoundRobinMultiplexer.java /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/ipc/TestFairCallQueue.java

            People

            • Assignee:
              Chris Li
              Reporter:
              Chris Li
            • Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development