[
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)