[
https://issues.apache.org/jira/browse/HBASE-18622?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16142369#comment-16142369
]
stack commented on HBASE-18622:
-------------------------------
Excluding protocol, shaded, and archetype and new jars like backup and rsgroup
makes the output more manageable:
{code}
./dev-support/checkcompatibility.py -e .*hbase-rsgroup.* -e .*hbase-backup.* -e
.*hbase-protoco.* -e .*hbase-shaded.* -e .*origina-hbase.* -e
.*hbase-archetypes.* -e .*hbase-examples.*
2f9b9e17d0522e36063bf52ecc58576243d20b3f
fad968d99f4693278edcaefff92738e67ad8e8a0
Test Info
Library Name hbase
Version #1 2f9b9e17d0522e36063bf52ecc58576243d20b3f
Version #2 fad968d99f4693278edcaefff92738e67ad8e8a0
Subject Binary Compatibility
Test Results
Total JARs 11
Total Methods / Classes 40212 / 3303
Compatibility 70.5%
Problem Summary
Severity Count
Added Methods - 12218
Removed Methods High 4140
Problems with
Data Types High 688
Medium 243
Low 178
Problems with
Methods High 74
Medium 0
Low 79
Other Changes
in Data Types - 878
Other Changes
in Methods - 160
Added Methods 12218
{code}
Admin branch-2 has 80 methods more than was in branch-1 Admin.
There are too many adds and removes to review.
Going over the methods flagged problematic, a good portion can be ignored since
the class was InterfaceAudience Private in hbase-1.0; e.g. Call or
ConnectionUtils.
We have a few methods that differ in signature in Admin. If we say hbase1 can't
admin an hbase2 cluster, then we can let below slide:
{code}
hbase-client-1.2.6.jar, Admin.class
package org.apache.hadoop.hbase.client
[−] Admin.createTableAsync ( HTableDescriptor p1, byte[ ][ ] p2 ) [abstract] :
void 1
org/apache/hadoop/hbase/client/Admin.createTableAsync:(Lorg/apache/hadoop/hbase/HTableDescriptor;[[B)V
Change Effect
1 Return value type has been changed from void to
java.util.concurrent.Future<java.lang.Void>. This method has been removed
because the return type is part of the method signature.
[−] Admin.disableTableAsync ( TableName p1 ) [abstract] : void 1
org/apache/hadoop/hbase/client/Admin.disableTableAsync:(Lorg/apache/hadoop/hbase/TableName;)V
Change Effect
1 Return value type has been changed from void to
java.util.concurrent.Future<java.lang.Void>. This method has been removed
because the return type is part of the method signature.
[−] Admin.enableTableAsync ( TableName p1 ) [abstract] : void 1
org/apache/hadoop/hbase/client/Admin.enableTableAsync:(Lorg/apache/hadoop/hbase/TableName;)V
Change Effect
1 Return value type has been changed from void to
java.util.concurrent.Future<java.lang.Void>. This method has been removed
because the return type is part of the method signature.
{code}
Filing subtasks for violations found.
Got as far as: hbase-common-1.2.6.jar, CellComparator.class Will be back.
> Mitigate compatibility concerns between branch-1 and branch-2
> -------------------------------------------------------------
>
> Key: HBASE-18622
> URL: https://issues.apache.org/jira/browse/HBASE-18622
> Project: HBase
> Issue Type: Bug
> Components: API
> Reporter: stack
> Assignee: stack
> Priority: Blocker
> Fix For: 2.0.0-alpha-3
>
>
> This project is to do what [~apurtell] did in the issue "HBASE-18431 Mitigate
> compatibility concerns between branch-1.3 and branch-1.4" only do it between
> branch-1 and branch-2.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)