[ https://issues.apache.org/jira/browse/HBASE-14822?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15071147#comment-15071147 ]
Samarth Jain commented on HBASE-14822: -------------------------------------- [~lhofhansl] - to be clear, I did test the patch. Phoenix queries which would have failed with lease timeout exceptions are now passing. So functionally your patch works. However, the patch ended up causing an inadvertent performance regression. Calling renew lease ends up increasing the nextCallSeq too. The subsequent OutOfOrderScannerNextException thrown is handled silently (once) by the ClientScanner#loadCache code which ends up setting the callable object to null. {code} if (e instanceof OutOfOrderScannerNextException) { if (retryAfterOutOfOrderException) { retryAfterOutOfOrderException = false; } else { // TODO: Why wrap this in a DNRIOE when it already is a DNRIOE? throw new DoNotRetryIOException("Failed after retry of " + "OutOfOrderScannerNextException: was there a rpc timeout?", e); } } // Clear region. this.currentRegion = null; {code} I am calling renewLease and scanner.next() using the same ClientScanner in different threads. However, I have proper synchronization in place that makes sure I am not calling both at the same time. It doesn't seem like a concurrency issue as I can reproduce this behavior consistently. > Renewing leases of scanners doesn't work > ---------------------------------------- > > Key: HBASE-14822 > URL: https://issues.apache.org/jira/browse/HBASE-14822 > Project: HBase > Issue Type: Bug > Affects Versions: 0.98.14 > Reporter: Samarth Jain > Assignee: Lars Hofhansl > Fix For: 2.0.0, 1.3.0, 1.2.1, 1.1.3, 0.98.17, 1.0.4 > > Attachments: 14822-0.98-v2.txt, 14822-0.98-v3.txt, 14822-0.98.txt, > 14822-v3-0.98.txt, 14822-v4-0.98.txt, 14822-v4.txt, 14822-v5-0.98.txt, > 14822-v5-1.3.txt, 14822-v5.txt, 14822.txt, HBASE-14822_98_nextseq.diff > > -- This message was sent by Atlassian JIRA (v6.3.4#6332)