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

Dima Spivak commented on HBASE-12556:
-------------------------------------

I detailed how we might want to actually run binary compatibility tests in 
another JIRA (HBASE-8275), but some of the discussion might belong here, too. I 
think if we want to really ensure compatibility across versions, we should have 
functional tests for every public API in one place that can feed into a 
framework for doing all the necessary compilation and 
binary-versions-on-the-classpath permutations we care about. Having them as 
actual tests (and not just making sure things compile and seem to work) means 
we'd also be looking out for semantic compatibility as described in the [Apache 
Hadoop compatibility 
guide|http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/Compatibility.html].

> Create a golden file for testing client API source/binary compatibility
> -----------------------------------------------------------------------
>
>                 Key: HBASE-12556
>                 URL: https://issues.apache.org/jira/browse/HBASE-12556
>             Project: HBase
>          Issue Type: Sub-task
>          Components: Client
>            Reporter: Enis Soztutar
>            Assignee: Enis Soztutar
>             Fix For: 1.0.0, 2.0.0
>
>         Attachments: hbase-12556-wip.patch
>
>
> [~lhofhansl] had a suggestion (in some other jira I forgot) for doing a 
> golden file for the HBase API so that we can compare between releases to 
> ensure that we are keeping source and binary compatibility as defined in this 
> document : 
> https://docs.google.com/document/d/1p5pP7v2OuzSSaomK2S2v7sfKky1Hex6OqwsJO0sZTUY/edit
>  
> I think we can generate a file, commit it to the repo, and create a unit test 
> to check whether any API's are broken. Adding new InterfaceAudience.Public 
> interfaces has to modify this file so that it becomes an explicit decision. 
> The downside is that we have to modify the file every time we add a new API, 
> but it should be fine since it will force us to think more before committing 
> to supporting new interfaces within the same major versions. 



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

Reply via email to