Details
-
Bug
-
Status: Patch Available
-
Major
-
Resolution: Unresolved
-
2.0.0
-
None
-
None
-
None
Description
HBASE-16290 added a new feature to dump queue info, the method getCallQueueInfo() need to iterate the queue to get the elements in the queue. But, except the Java's LinkedBlockingQueue, the other queue implementations like BoundedPriorityBlockingQueue and AdaptiveLifoCoDelCallQueue don't implement the method iterator(). If those queues are used, a UnsupportedOperationException will be thrown.
This can be easily be reproduced by the UT testCallQueueInfo while adding a conf: conf.set("hbase.ipc.server.callqueue.type", "deadline")
java.lang.UnsupportedOperationException at org.apache.hadoop.hbase.util.BoundedPriorityBlockingQueue.iterator(BoundedPriorityBlockingQueue.java:285) at org.apache.hadoop.hbase.ipc.RpcExecutor.getCallQueueCountsSummary(RpcExecutor.java:166) at org.apache.hadoop.hbase.ipc.SimpleRpcScheduler.getCallQueueInfo(SimpleRpcScheduler.java:241) at org.apache.hadoop.hbase.ipc.TestSimpleRpcScheduler.testCallQueueInfo(TestSimpleRpcScheduler.java:164)
Attachments
Attachments
Issue Links
- is caused by
-
HBASE-16290 Dump summary of callQueue content; can help debugging
- Resolved