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

Enis Soztutar commented on HBASE-13662:
---------------------------------------

See HBASE-16604. 

> RSRpcService.scan() throws an OutOfOrderScannerNext if the scan has a 
> retriable failure
> ---------------------------------------------------------------------------------------
>
>                 Key: HBASE-13662
>                 URL: https://issues.apache.org/jira/browse/HBASE-13662
>             Project: HBase
>          Issue Type: Bug
>          Components: IPC/RPC, regionserver
>    Affects Versions: 2.0.0, 1.0.1, 1.1.0, 0.98.10.1
>            Reporter: Matteo Bertozzi
>            Assignee: Matteo Bertozzi
>             Fix For: 2.0.0, 0.98.13, 1.0.2, 1.2.0, 1.1.1
>
>         Attachments: HBASE-13662-v0.patch, HBASE-13662-v1.patch
>
>
> while fixing HBASE-13651 I noticed that if we have a failure inside the 
> RSRpcService.scan(), when the request has a hasNextCallSeq()  the nextCallSeq 
> is incremented and not rolledback, which means that the client retry will 
> send a request with a nextCallSeq not up to date, which result in an 
> OutOfOrderScannerNextException.
> {code}
> if (rows > 0) {
>   if (request.hasNextCallSeq()) {
>     if (request.getNextCallSeq() != rsh.nextCallSeq) {
>       throw new OutOfOrderScannerNextException(...)
>     }
>     // Increment the nextCallSeq value which is the next expected from client.
>     rsh.nextCallSeq++;
>   }
> }
> try {
>   ...scan code...
> }
> {code}
> after the scanner heartbeat patches HBASE-13090, we seems to be able to 
> recover from that OutOfOrder exception, but the error show up anyway.
> After a discussion with [[email protected]] we ended up saying that 
> decrementing the callSeq on exception seems to be fine. but we had the open 
> question about having that nextCallSeq to be atomic, if that was supposed to 
> prevent concurrent requests with the same id. any thoughts?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to