You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Allan Yang (JIRA)" <ji...@apache.org> on 2018/05/22 04:30:00 UTC

[jira] [Created] (HBASE-20611) UnsupportedOperationException may thrown when calling getCallQueueInfo()

Allan Yang created HBASE-20611:
----------------------------------

             Summary: UnsupportedOperationException may thrown when calling getCallQueueInfo()
                 Key: HBASE-20611
                 URL: https://issues.apache.org/jira/browse/HBASE-20611
             Project: HBase
          Issue Type: Bug
    Affects Versions: 2.0.0
            Reporter: Allan Yang


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");)
{code}
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)
{code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)