hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Phil Yang (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-18122) Scanner id should include ServerName of region server
Date Sat, 27 May 2017 03:49:04 GMT

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

Phil Yang commented on HBASE-18122:
-----------------------------------

There are two scenes:

A client open a new scanner and its id generated by RS is 1(the first scanner), if this RS
crash and restart then another client open a new scanner, its id is also 1. If the first client
send a next() to this RS, it will get the wrong results.

As described in HBASE-18121, the scanner callable will retry when there is an exception that
is not DoNotRetryIOE, but if the region moved to another RS, the retry will not open a new
scanner to the new RS, it will send next() with the wrong scanner id.

> Scanner id should include ServerName of region server
> -----------------------------------------------------
>
>                 Key: HBASE-18122
>                 URL: https://issues.apache.org/jira/browse/HBASE-18122
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Phil Yang
>            Assignee: Phil Yang
>         Attachments: HBASE-18122.v01.patch, HBASE-18122.v02.patch
>
>
> Now the scanner id is a long number from 1 to max in a region server. Each new scanner
will have a scanner id.
> If a client has a scanner whose id is x, when the RS restart and the scanner id is also
incremented to x or a little larger, there will be a scanner id collision.
> So the scanner id should now be same during each time the RS restart. We can add the
start timestamp as the highest several bits in scanner id uint64.
> And because HBASE-18121 is not easy to fix and there are many clients with old version.
We can also encode server host:port into the scanner id.
> So we can use ServerName.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Mime
View raw message