[ https://issues.apache.org/jira/browse/HBASE-22346?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16860356#comment-16860356 ]
Josh Elser commented on HBASE-22346: ------------------------------------ Not sure if you still need/want it, but I removed this branch and pushed a tag (feature-HBASE-22346-tag) instead. If this is just one commit, I reckon that precommit should give you the necessary testing capabilities? Trying to clean up space on Jenkins. Shout if you want this back :) > scanner priorities/deadline units are invalid for non-huge scanners > ------------------------------------------------------------------- > > Key: HBASE-22346 > URL: https://issues.apache.org/jira/browse/HBASE-22346 > Project: HBase > Issue Type: Bug > Reporter: Sergey Shelukhin > Assignee: Sergey Shelukhin > Priority: Major > Attachments: HBASE-22346.01.patch, HBASE-22346.patch > > > I was looking at using the priority (deadline) queue for scanner requests; > what I see is that AnnotationReadingPriorityFunction, the only impl of the > deadline function available, implements getDeadline as sqrt of the number of > next() calls, from HBASE-10993. > However, CallPriorityComparator.compare, its only caller, adds that > "deadline" value to the callA.getReceiveTime() in milliseconds... > That results in some sort of a meaningless value that I assume only make > sense "by coincidence" for telling apart broad and specific classes of > scanners... in practice next calls must be in the 1000s before it becomes > meaningful vs small differences in ReceivedTime > When there's contention from many scanners, e.g. small scanners for meta, or > just users creating tons of scanners to the point where requests queue up, > the actual deadline is not accounted for and the priority function itself is > meaningless... In fact as queueing increases, it becomes worse because > receivedtime differences grow. -- This message was sent by Atlassian JIRA (v7.6.3#76005)