[ 
https://issues.apache.org/jira/browse/HBASE-18122?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Phil Yang updated HBASE-18122:
------------------------------
      Resolution: Fixed
    Hadoop Flags: Reviewed
    Release Note: 
The scanner id is not from 1 anymore.
The first 32 bits are MurmurHash32 of ServerName string "host,port,ts". The 
ServerName contains both host, port, and start timestamp so it can prevent 
collision. The lowest 32bit is generated by atomic int.
          Status: Resolved  (was: Patch Available)

Pushed to all branches and pushed addendum patch to master.
Thanks all for reviewing.

> 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
>    Affects Versions: 2.0.0, 1.4.0, 1.3.1, 1.1.10, 1.2.6
>            Reporter: Phil Yang
>            Assignee: Phil Yang
>             Fix For: 2.0.0, 1.4.0, 1.3.2, 1.1.11, 1.2.7
>
>         Attachments: addendum.patch, HBASE-18122.v01.patch, 
> HBASE-18122.v02.patch, HBASE-18122.v03.patch, HBASE-18122.v04.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)

Reply via email to