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

Sean Busbey commented on HBASE-13537:
-------------------------------------

The compat guide only promises API compatibility at the source level across 
minor versions (same with the "deprecate a major version" part). The reasoning 
(as I understand it) is that since we're also wire/data compatible across minor 
versions someone who needs binary compatibility for some reason can just not 
change their client.

Binary compatibility breaking is allowed on minor and major versions (with no 
warning). Having a method go from void -> Future<Void> is source compatible, so 
the changes as-is are fine in 1.y and 2.0+. Since the method signature is the 
same as far as the JLS is concerned (name + args), I don't think a deprecation 
is needed.

This is the same thing I think Matteo is saying, but since someone cc'd me, 
figure I'd expressly agree.

[~srikanth235] could you please add a release note that calls out the binary 
compatibility break and notes that since it's source compatible folks only need 
to recompile?

> Change the admin interface for async operations to return Future.
> -----------------------------------------------------------------
>
>                 Key: HBASE-13537
>                 URL: https://issues.apache.org/jira/browse/HBASE-13537
>             Project: HBase
>          Issue Type: Sub-task
>          Components: proc-v2
>    Affects Versions: 2.0.0
>            Reporter: Srikanth Srungarapu
>            Assignee: Srikanth Srungarapu
>             Fix For: 2.0.0
>
>         Attachments: HBASE-13537.patch, HBASE-13537.patch, HBASE-13537.patch, 
> HBASE-13537_v2.patch
>
>
> At the moment, the async operations are returning void. This task aims to 
> change the return type to Future and remove the aysnc wrapper methods.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to