[
https://issues.apache.org/jira/browse/HBASE-15089?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15094440#comment-15094440
]
Sean Busbey commented on HBASE-15089:
-------------------------------------
Generally, our promises are for wire and source compatibility (so that those
who need binary can just keep the same bits). I believe you're correct in this
case though. 0.98 -> 1.0 was a major version increment and HTable went from
IA.Public to IA.Private; that was the break for downstream folks. It's worth
noting that even after this patch, the replacement class Table still throws
IOException generally.
I presume the point of that was to give us more breathing room on what *could*
be thrown without breaking the behavior for folks client side farther down the
line. As is, clients could keep the 0.98 client code to have the same behavior
while talking to a 1.y server (though I'm not sure what our plans are for 0.98
-> 2.0.) Having them continue to rely on HTable directly is dangerous, as
there's no promise it won't change in breaking ways even in patch releases
post-1.0.0.
> Compatibility issue on flushCommits and put methods in HTable
> -------------------------------------------------------------
>
> Key: HBASE-15089
> URL: https://issues.apache.org/jira/browse/HBASE-15089
> Project: HBase
> Issue Type: Bug
> Affects Versions: 1.1.2
> Reporter: Yu Li
> Assignee: Yu Li
> Priority: Minor
> Attachments: HBASE-15089.patch, HBASE-15089.v2.patch
>
>
> Previously in 0.98 HTable#flushCommits throws InterruptedIOException and
> RetriesExhaustedWithDetailsException, but now in 1.1.2 this method signature
> has been changed to throw IOException, which will force application code
> changes for exception handling (previous catch on InterruptedIOException and
> RetriesExhaustedWithDetailsException become invalid). HTable#put has the same
> problem.
> After a check, the compatibility issue was introduced by HBASE-12728. Will
> recover the compatibility In this JIRA.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)