Excluding protocol, shaded, and archetype and new jars like backup and rsgroup makes the output more manageable:
./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
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:
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.
Filing subtasks for violations found.
Got as far as: hbase-common-1.2.6.jar, CellComparator.class Will be back.
Compared released 1.2.6 – a likely starting point – to branch-2 by doing below:
Report attached.