hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sean Busbey (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-19099) Evaluate the remaining compatibility concerns between branch-1.3 and branch-1.4 / branch-1
Date Sun, 29 Oct 2017 22:19:01 GMT

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

Sean Busbey commented on HBASE-19099:
-------------------------------------

They're in an IA.Public class and these are minor releases. That's my only motivation. "Ignored
but user code that references the field keeps working" is fine by me, presuming the ignoring
was justified when it happened. Ideally there'll be a release note on that change.

> 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
>            Assignee: 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:
> The below all relate to source level compatibility. Recompilation of a client program
may be terminated with the message "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.client
> interface Admin 
> * 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  
> * 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.
> package org.apache.hadoop.hbase.coprocessor
> interface MasterObserver 
> * 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.
> package org.apache.hadoop.hbase.coprocessor
> interface RegionCoprocessorEnvironment 
> * Abstract method getMetricRegistryForRegionServer ( ) has been added to this interface.
> package org.apache.hadoop.hbase.coprocessor
> 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. 
> package org.apache.hadoop.hbase.coprocessor
> 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.
> package org.apache.hadoop.hbase.replication
> interface ReplicationEndpoint 1
> * Added super-interface ReplicationPeerConfigListener. (Added methods.)
> .
> . 
> AsyncRpcClient has been removed. It was not Public. This change is ALLOWED. 
> package org.apache.hadoop.hbase.ipc
> class AsyncRpcClient
> .
> .
> There are also changes to the LimitedPrivate interface Store. We previously discussed
this, and solicited and received feedback from the Phoenix project saying they do not represent
a problem, so the changes will be ALLOWED.
> package org.apache.hadoop.hbase.regionserver
> interface Store
> * Abstract method add ( Iterable<Cell> ) has been added to this interface. 
> * Abstract method bulkLoadHFile ( byte[ ], String, Path ) has been added to this interface.

> * Abstract method getScanners ( List<StoreFile>, boolean, boolean, boolean, boolean,
ScanQueryMatcher, byte[ ], byte[ ], long, boolean ) has been added to this interface.
> * Abstract method getScanners ( boolean, boolean, boolean, boolean, ScanQueryMatcher,
byte[ ], byte[ ], long ) has been added to this interface. 
> * Abstract method upsert ( Iterable<Cell>, long, List<Cell> ) has been added
to this interface.
> * Abstract method bulkLoadHFile ( String, long ) has been removed from this interface.

> * Abstract method getScanners ( List<StoreFile>, boolean, boolean, boolean, boolean,
ScanQueryMatcher, byte[ ], byte[ ], long, boolean ) has been removed from this interface.

> * Abstract method getScanners ( boolean, boolean, boolean, boolean, ScanQueryMatcher,
byte[ ], byte[ ], long ) has been removed from this interface. 
> * Abstract method upsert ( Iterable<Cell>, long ) has been removed from this interface.
> .
> .
> A number of configuration constants were (re)moved from SimpleRpcScheduler, tagged LimitedPrivate.
I think these can be ALLOWED.
> package org.apache.hadoop.hbase.ipc
> class SimpleRpcScheduler 
> Removed constants
> - CALL_QUEUE_CODEL_DEFAULT_INTERVAL
> - CALL_QUEUE_CODEL_DEFAULT_LIFO_THRESHOLD
> - CALL_QUEUE_CODEL_DEFAULT_TARGET_DELAY
> - CALL_QUEUE_CODEL_INTERVAL
> - CALL_QUEUE_CODEL_LIFO_THRESHOLD
> - CALL_QUEUE_CODEL_TARGET_DELAY
> - CALL_QUEUE_HANDLER_FACTOR_CONF_KEY
> - CALL_QUEUE_READ_SHARE_CONF_KEY
> - CALL_QUEUE_SCAN_SHARE_CONF_KEY
> - CALL_QUEUE_TYPE_CODEL_CONF_VALUE
> - CALL_QUEUE_TYPE_CONF_DEFAULT
> - CALL_QUEUE_TYPE_CONF_KEY
> - CALL_QUEUE_TYPE_DEADLINE_CONF_VALUE
> - CALL_QUEUE_TYPE_FIFO_CONF_VALUE
> - QUEUE_MAX_CALL_DELAY_CONF_KEY 
> .
> .
> Two constants were removed from Public class TableInputFormatBase. I think these are
internal implementation details and so removal can be ALLOWED, but we could put them back
if need be. 
> package org.apache.hadoop.hbase.mapreduce
> class TableInputFormatBase 
> Removed constants
> - INPUT_AUTOBALANCE_MAXSKEWRATIO
> - TABLE_ROW_TEXTKEY 



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

Mime
View raw message