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

Reply via email to