hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew Purtell (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-18431) Mitigate compatibility concerns between branch-1.3 and branch-1.4
Date Wed, 26 Jul 2017 19:00:03 GMT

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

Andrew Purtell commented on HBASE-18431:
----------------------------------------

TestClientScannerRPCTimeout is flaky independent of this change.
TestRSKilledWhenInitializing is a known flake being tracked by another JIRA.
All other tests called out in the precommit report pass for me repeatedly 25 of 25 times.


> Mitigate compatibility concerns between branch-1.3 and branch-1.4
> -----------------------------------------------------------------
>
>                 Key: HBASE-18431
>                 URL: https://issues.apache.org/jira/browse/HBASE-18431
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Andrew Purtell
>            Assignee: Andrew Purtell
>            Priority: Blocker
>             Fix For: 1.4.0, 1.5.0
>
>         Attachments: HBASE-18431-branch-1.4.patch
>
>
> There are compatibility concerns with branch-1.4. 
> {noformat}
> Library Name	HBase
> Version #1	1.3.1
> Version #2	1.4.0-SNAPSHOT
> Subject	Binary Compatibility
> Compatibility - 89.9%
> Added Methods - 305
> Removed Methods - 105
> Problems with Data Types
> 	High - 23
> 	Medium - 9
> 	Low - 21
> {noformat}
> {noformat}
> Library Name	HBase
> Version #1	1.3.1
> Version #2	1.4.0-SNAPSHOT
> Subject	Source Compatibility
> Compatibility- 86.5%
> Added Methods - 305
> Removed Methods - 105
> Problems with Data Types
> 	High - 88
> 	Medium - 0
> 	Low - 0
> Other Changes in Data Types	 - 25
> {noformat}
> This report includes HBASE-15816 which hasn't been committed yet. Otherwise it's current.
> I'm not generally concerned with added methods. 
> The following methods have been added to Public/Evolving interface Table. Pointing them
out in case it merits review.
> \\
> * Abstract method Table.getReadRpcTimeout ( ) has been added to this interface.	No effect.
> * Abstract method Table.getWriteRpcTimeout ( ) has been added to this interface.	No effect.
> * Abstract method Table.setReadRpcTimeout ( int ) has been added to this interface.	No
effect.
> * Abstract method Table.setWriteRpcTimeout ( int ) has been added to this interface.
> The Public/Evolving interface Admin has some signature changes equating to removed methods.
I don't think this is allowed in a minor release.
> \\
> * Abstract method Admin.isSnapshotFinished ( HBaseProtos.SnapshotDescription ) has been
removed from Admin.
> *  Abstract method Admin.snapshot ( String, TableName, HBaseProtos.SnapshotDescription.Type
) has been removed from Admin.
> * Abstract method Admin.snapshot ( HBaseProtos.SnapshotDescription ) has been removed
from Admin.
> *  Abstract method Admin.takeSnapshotAsync ( HBaseProtos.SnapshotDescription ) has been
removed from Admin.
> The LimitedPrivate(CONFIG) interface AsyncRpcClient has been removed. This change is
debatable but I think we can allow it.
> \\
> * AsyncRpcClient has been removed
> The Public/Evolving class FastLongHistogram has been removed. I don't believe this change
is allowed in a minor release.
> \\
> * FastLongHistogram has been removed
> Method signatures in LimitedPrivate(COPROC) interfaces MasterObserver and RegionObserver
have changed, equating to removed methods. The first set of changes is due to move of SnapshotDescription
from HBaseProtos to SnapshotProtos:
> \\
> * Abstract method MasterObserver.postCloneSnapshot ( ObserverContext<MasterCoprocessorEnvironment>,
HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postDeleteSnapshot ( ObserverContext<MasterCoprocessorEnvironment>,
HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postListSnapshot ( ObserverContext<MasterCoprocessorEnvironment>,
HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postRestoreSnapshot ( ObserverContext<MasterCoprocessorEnvironment>,
HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postSnapshot ( ObserverContext<MasterCoprocessorEnvironment>,
HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preCloneSnapshot ( ObserverContext<MasterCoprocessorEnvironment>,
HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preDeleteSnapshot ( ObserverContext<MasterCoprocessorEnvironment>,
HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preListSnapshot ( ObserverContext<MasterCoprocessorEnvironment>,
HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preRestoreSnapshot ( ObserverContext<MasterCoprocessorEnvironment>,
HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preSnapshot ( ObserverContext<MasterCoprocessorEnvironment>,
HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from MasterObserver.
> Here, maybe DeleteTracker moved packages?
> \\
> * Abstract method RegionObserver.postInstantiateDeleteTracker ( ObserverContext<RegionCoprocessorEnvironment>,
DeleteTracker ) has been removed from RegionObserver.
> The LimitedPrivate(COPROC) interface Store has method signature changes equating to removed
methods. The changes are debatable. I am thinking we can allow them. Anyone implementing their
own Stores?
> \\
> * Abstract method Store.bulkLoadHFile ( String, long ) has been removed from Store.
> * Abstract method Store.getScanners ( List<StoreFile>, boolean, boolean, boolean,
boolean, ScanQueryMatcher, byte[ ], byte[ ], long, boolean ) has been removed from Store.
> * Abstract method Store.getScanners ( boolean, boolean, boolean, boolean, ScanQueryMatcher,
byte[ ], byte[ ], long ) has been removed from Store.
> * Abstract method Store.upsert ( Iterable<Cell>, long ) has been removed from Store.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message