[
https://issues.apache.org/jira/browse/HBASE-20237?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16407515#comment-16407515
]
stack edited comment on HBASE-20237 at 3/21/18 6:38 AM:
--------------------------------------------------------
...whereas, an unpatched hbase2 with a 0.98 client 'works'.
It works because though the client is setting getClosestOrBefore, in hbase2 we
don't look for the flag and don't act upon it. Means 0.98 client is kinda broke
going against hbase2; we'll get lots of WrongRegionExceptions because 0.98
client won't be able to locate the region that matches a particular row.
hbase-1.0.x locates regions by setting reversed on the hbase:meta Scan.
Sounds like 1.0.x is the minimum version that can go against an hbase2 and to
be explicit, we want hbase2 throwing the above exception if a 0.98 client shows
up or an asynchbase.
was (Author: stack):
...whereas, an unpatched hbase2 with a 0.98 client 'works'.
It works because though the client is setting getClosestOrBefore, in hbase2 we
don't look for the flag and don't act upon it. Means 0.98 client is kinda broke
going against hbase2; we'll get lots of WrongRegionExceptions because 0.98
client won't be able to locate the region that matches a particular row.
hbase-1.2 locates regions by setting reversed on the hbase:meta Scan.
Sounds like 1.2 is the minimum version that can go against an hbase2. We also
want hbase2 throwing this exception if a 0.98 client shows up or an asynchbase.
> Put back getClosestRowBefore and throw UnsupportedOperation instead... for
> asynchbase client
> --------------------------------------------------------------------------------------------
>
> Key: HBASE-20237
> URL: https://issues.apache.org/jira/browse/HBASE-20237
> Project: HBase
> Issue Type: Bug
> Components: compatibility, Operability
> Reporter: stack
> Assignee: stack
> Priority: Major
> Fix For: 2.0.0
>
> Attachments: HBASE-20237.branch-2.001.patch
>
>
> asychbase can work against all hbase versions. This fact has saved us a few
> times; e.g. LINE were able to migrate from 0.94 to 1.2 going in part via
> asynchbase and its ability to work against all servers.
> hbase2 breaks this ability of asynchbase. There is nothing for asynchbase to
> figure definitively that it is talking to an hbase2 server (See HBASE-20225).
> Lets add back something it can leverage. HBASE-13954 did a nice job purging
> getClosestRowBefore. Lets put back an RPC stuff that throws an exception if
> it gets called. Thats enough for asynchbase.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)