[
https://issues.apache.org/jira/browse/HBASE-19099?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16221053#comment-16221053
]
Andrew Purtell edited comment on HBASE-19099 at 10/26/17 8:28 PM:
------------------------------------------------------------------
We also made a change to LP replication interface hierarchy, which is ALLOWED I
believe because it is a source level compatibility issue and amounts to
addition of new methods.
package org.apache.hadoop.hbase.replication
[−] interface ReplicationEndpoint 1
Change Effect
1 Added super-interface ReplicationPeerConfigListener. Recompilation
of a client program may be terminated with the message: a client class C is not
abstract and does not override abstract method in ReplicationPeerConfigListener.
was (Author: apurtell):
We also made a change to LP replication interface hierarchy, which is ALLOWED I
believe because recompliation will cure it.
package org.apache.hadoop.hbase.replication
[−] interface ReplicationEndpoint 1
Change Effect
1 Added super-interface ReplicationPeerConfigListener. Recompilation
of a client program may be terminated with the message: a client class C is not
abstract and does not override abstract method in ReplicationPeerConfigListener.
> Evaluate the remaining compatibility concerns between branch-1.3 and
> branch-1.4 / branch-1
> ------------------------------------------------------------------------------------------
>
> Key: HBASE-19099
> URL: https://issues.apache.org/jira/browse/HBASE-19099
> Project: HBase
> Issue Type: Task
> Affects Versions: 1.4.0, 1.5.0
> Reporter: Andrew Purtell
> Priority: Blocker
> Fix For: 1.4.0, 1.5.0
>
>
> For discussion, here are the remaining compatibility concerns you will
> encounter upon moving up from 1.3 to 1.4:
> package org.apache.hadoop.hbase.client
> interface Admin 8
> * Abstract method clearDeadServers ( List<ServerName> ) has been added to
> this interface.
> * Abstract method cloneSnapshot ( String, TableName, boolean ) has been added
> to this interface.
> * Abstract method isCleanerChoreEnabled ( ) has been added to this interface.
> * Abstract method isMasterInMaintenanceMode ( ) has been added to this
> interface.
> * Abstract method listDeadServers ( ) has been added to this interface.
> * Abstract method restoreSnapshot ( String, boolean, boolean ) has been added
> to this interface.
> * Abstract method runCleanerChore ( ) has been added to this interface.
> * Abstract method setCleanerChoreRunning ( boolean ) has been added to this
> interface.
> package org.apache.hadoop.hbase.client
> interface ResultScanner 2
> * Abstract method renewLease ( ) has been added to this interface.
> * Abstract method getScanMetrics ( ) has been added to this interface.
> package org.apache.hadoop.hbase.client
> interface Table
> * Abstract method getReadRpcTimeout ( ) has been added to this interface.
> * Abstract method getWriteRpcTimeout ( ) has been added to this interface.
> * Abstract method setReadRpcTimeout ( int ) has been added to this interface.
> * Abstract method setWriteRpcTimeout ( int ) has been added to this interface.
> package org.apache.hadoop.hbase.replication
> interface ReplicationPeer
> * Abstract method getPeerBandwidth ( ) has been added to this interface.
> * Abstract method trackPeerConfigChanges ( ReplicationPeerConfigListener )
> has been added to this interface.
> package org.apache.hadoop.hbase.coprocessor
> interface MasterCoprocessorEnvironment
> * Abstract method getMetricRegistryForMaster ( ) has been added to this
> interface.
> interface MasterObserver 16
> * Abstract method postAddRSGroup (
> ObserverContext<MasterCoprocessorEnvironment>, String ) has been added to
> this interface.
> * Abstract method postBalanceRSGroup (
> ObserverContext<MasterCoprocessorEnvironment>, String, boolean ) has been
> added to this interface.
> * Abstract method postClearDeadServers (
> ObserverContext<MasterCoprocessorEnvironment> ) has been added to this
> interface.
> * Abstract method postListDeadServers (
> ObserverContext<MasterCoprocessorEnvironment> ) has been added to this
> interface.
> * Abstract method postMoveServers (
> ObserverContext<MasterCoprocessorEnvironment>, Set<Address>, String ) has
> been added to this interface.
> * Abstract method postMoveServersAndTables (
> ObserverContext<MasterCoprocessorEnvironment>, Set<Address>, Set<TableName>,
> String ) has been added to this interface.
> * Abstract method postMoveTables (
> ObserverContext<MasterCoprocessorEnvironment>, Set<TableName>, String ) has
> been added to this interface.
> * Abstract method postRemoveRSGroup (
> ObserverContext<MasterCoprocessorEnvironment>, String ) has been added to
> this interface.
> * Abstract method preAddRSGroup (
> ObserverContext<MasterCoprocessorEnvironment>, String ) has been added to
> this interface.
> * Abstract method preBalanceRSGroup (
> ObserverContext<MasterCoprocessorEnvironment>, String ) has been added to
> this interface.
> * Abstract method preClearDeadServers (
> ObserverContext<MasterCoprocessorEnvironment> ) has been added to this
> interface.
> * Abstract method preListDeadServers (
> ObserverContext<MasterCoprocessorEnvironment> ) has been added to this
> interface.
> * Abstract method preMoveServers (
> ObserverContext<MasterCoprocessorEnvironment>, Set<Address>, String ) has
> been added to this interface.
> * Abstract method preMoveServersAndTables (
> ObserverContext<MasterCoprocessorEnvironment>, Set<Address>, Set<TableName>,
> String ) has been added to this interface.
> * Abstract method preMoveTables (
> ObserverContext<MasterCoprocessorEnvironment>, Set<TableName>, String ) has
> been added to this interface.
> * Abstract method preRemoveRSGroup (
> ObserverContext<MasterCoprocessorEnvironment>, String ) has been added to
> this interface.
> interface RegionCoprocessorEnvironment
> * Abstract method getMetricRegistryForRegionServer ( ) has been added to this
> interface.
> [−] interface RegionObserver
> * Abstract method postCommitStoreFile (
> ObserverContext<RegionCoprocessorEnvironment>, byte[ ], Path, Path ) has been
> added to this interface.
> * Abstract method preCommitStoreFile (
> ObserverContext<RegionCoprocessorEnvironment>, byte[ ], List<Pair<Path,Path>>
> ) has been added to this interface.
> * Abstract method preCompactScannerOpen (
> ObserverContext<RegionCoprocessorEnvironment>, Store, List<?>, ScanType,
> long, InternalScanner, CompactionRequest, long ) has been added to this
> interface.
> * Abstract method preFlushScannerOpen (
> ObserverContext<RegionCoprocessorEnvironment>, Store, KeyValueScanner,
> InternalScanner, long ) has been added to this interface.
> interface WALCoprocessorEnvironment
> * Abstract method getMetricRegistryForRegionServer ( ) has been added to this
> interface.
> package org.apache.hadoop.hbase.ipc
> class RpcScheduler
> * Abstract method getActiveReadRpcHandlerCount ( ) has been added to this
> class.
> * Abstract method getActiveScanRpcHandlerCount ( ) has been added to this
> class.
> * Abstract method getActiveWriteRpcHandlerCount ( ) has been added to this
> class.
> * Abstract method getReadQueueLength ( ) has been added to this class.
> * Abstract method getScanQueueLength ( ) has been added to this class.
> * Abstract method getWriteQueueLength ( ) has been added to this class.
> package org.apache.hadoop.hbase.regionserver
> interface Region
> * Abstract method closeRegionOperation ( Region.Operation ) has been added to
> this interface.
> * Abstract method waitForFlushes ( ) has been added to this interface.
> The above relate to source level compatibility. Recompilation of a client
> program may be terminated with the message "client class C is not abstract
> and does not override abstract method M in TYPE". According to our
> compatibility guidelines we are allowed to add methods to interfaces, so
> these are ALLOWED. Please let me know if you disagree.
> ----
> package org.apache.hadoop.hbase.ipc
> class AsyncRpcClient
> AsyncRpcClient has been removed. It was not Public. This change is ALLOWED.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)