[ 
https://issues.apache.org/jira/browse/HBASE-26784?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17502914#comment-17502914
 ] 

Bryan Beaudreault commented on HBASE-26784:
-------------------------------------------

Thanks for merging [~Xiaolin Ha] !

> Use HIGH_QOS for ResultScanner.close requests
> ---------------------------------------------
>
>                 Key: HBASE-26784
>                 URL: https://issues.apache.org/jira/browse/HBASE-26784
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Bryan Beaudreault
>            Assignee: Bryan Beaudreault
>            Priority: Major
>             Fix For: 2.5.0, 2.6.0, 3.0.0-alpha-3
>
>
> Active scanners take resources on the RegionServer, and scanner leaks can 
> have a big impact on GC. Under high load, ResultScanner.close() calls might 
> get rejected or timed out before executing. Exceptions thrown by close() are 
> currently swallowed, so clients will not retry. This leads to a leak of 
> active scanners on the server side.
> These calls should be relatively free to execute, and executing them will 
> free up the resources which can have an impact on overall RegionServer 
> performance. As such it can be beneficial to execute all 
> ResultScanner.close() requests with HIGH_QOS regardless of the priority of 
> the underlying Scan.
> In a scan-heavy stress test I ran, after a couple minutes the Full GC time 
> (using G1GC) starts increasing and we start seeing 1s pauses, due to 
> increasing number of active scanners (into the 10s of thousands). Re-running 
> the stress test with HIGH_QOS for ResultScanner.close() eliminates the leak 
> and GC time remains stable.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to