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

Bryan Beaudreault commented on HBASE-26537:
-------------------------------------------

[~apurtell] Sorry I missed your comment at first.

I think upgrading from 1.2.0 to 1.2.2 would have been breaking change. You 
can't follow the usual path of upgrading server first, then client, because the 
0 values sent by the client would be mis-interpreted by the server. Similar is 
true if you tried upgrading client first, the server would not know what to do 
with the new '2' values sent by client.

I think if we had caught this post-merge back in 2016 I'm guessing we would 
have pushed a 1.2.3 or 1.2.2.1 and tried to dissuade upgrading to 1.2.2

> FuzzyRowFilter backwards compatibility
> --------------------------------------
>
>                 Key: HBASE-26537
>                 URL: https://issues.apache.org/jira/browse/HBASE-26537
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 1.1.13, 1.2.12, 1.3.6
>            Reporter: Bryan Beaudreault
>            Priority: Major
>
> HBASE-15676 introduced a backwards incompatible change which makes it 
> impossible to upgrade in our designated upgraded order (server first, then 
> client) without potential bad results. Worse, the failure mode is silent – a 
> pre-HBASE-15676 client would incorrectly receive 0 results from a 
> post-HBASE-15676 server.
> I solved this internally as part of our upgrade from 1.2.0 to 2.4.6 by adding 
> a new proto field to switch between the two implementations. I'm submitting 
> this Jira to capture and potentially backport that fix for anyone else who 
> encounters it. 



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to