API Compatibility changes in 7.3.2 for HBase
Removed or Modified APIs in Cloudera Runtime 7.3.2 for HBase and recommendations for how to handle them.
Apache Version of HBase in 7.3.1.600 was 2.4.17 and Apache Version of HBase in 7.3.2 is 2.6.3.
Modified APIs in 7.3.2
The following APIs have been modified for HBase in Cloudera Runtime 7.3.2
DataBlockEncoding.createEncoder
Access level has been changed from protected to package-private.
- Package Name
- org.apache.hadoop.hbase.io.encoding
- Effect
- Recompilation of a client program may be terminated with the message:
createEncoder (String) has
package-privateaccess in org.apache.hadoop.hbase.io.encoding.DataBlockEncoding. - Reason for change
- HBASE-27206
- Recommendation
- Use DataBlockEncoding.getEncoder instead of createEncoder.
- Recompilation Required?
- YES
Bytes.toByteString
Return value type has been changed from com.google.protobuf.ByteString to org.apache.hbase.thirdparty.com.google.protobuf.ByteString.
- Package Name
- org.apache.hadoop.hbase.util
- Effect
- This method has been removed because the return type is part of the method signature. A client program may be interrupted by NoSuchMethodError exception.
- Reason for change
- CDPD-33849
- Recommendation
- Method signature changed, return type changed to HBase thirdparty protobuf class. If a client application calls this method, it should import the HBase thirdparty protobuf class.
- Recompilation Required?
- YES
PBType.inputStreamFromByteRange
Return value type has been changed from com.google.protobuf.CodedInputStream to org.apache.hbase.thirdparty.com.google.protobuf.CodedInputStream.
- Package Name
- org.apache.hadoop.hbase.types
- Effect
- This method has been removed because the return type is part of the method signature. A client program may be interrupted by NoSuchMethodError exception.
- Reason for change
- CDPD-33849
- Recommendation
- Method signature changed, return type changed to HBase thirdparty protobuf class. If a client application calls this method, it should import the HBase thirdparty protobuf class.
- Recompilation Required?
- YES
PBType.outputStreamFromByteRange
Return value type has been changed from com.google.protobuf.CodedOutputStream to org.apache.hbase.thirdparty.com.google.protobuf.CodedOutputStream.
- Package Name
- org.apache.hadoop.hbase.types
- Effect
- This method has been removed because the return type is part of the method signature. A client program may be interrupted by NoSuchMethodError exception.
- Reason for change
- CDPD-33849
- Recommendation
- Method signature changed, return type changed to HBase thirdparty protobuf class. If a client application calls this method, it should import the HBase thirdparty protobuf class.
- Recompilation Required?
- YES
Table.coprocessorService
Added org.apache.hbase.thirdparty.com.google.protobuf.ServiceException exception thrown.
- Package Name
- org.apache.hadoop.hbase.client
- Effect
- Recompilation of a client program may be terminated with the message: unreported exception org.apache.hbase.thirdparty.com.google.protobuf.ServiceException must be caught or declared to be thrown.
- Reason for change
- CDPD-33849
- Recommendation
- Method signature changed, thrown Exception type changed to HBase thirdparty protobuf class. If a client application calls this method, and handles this Exception makes sure to import it from the HBase thirdparty protobuf class(es).
- Recompilation Required?
- YES
ClusterMetrics
Abstract method List getMasterTasks() has been added to this interface.
- Package Name
- org.apache.hadoop.hbase
- Effect
- Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method getMasterTasks() in org.apache.hadoop.hbase.ClusterMetrics.
- Reason for change
- HBASE-26730
- Recommendation
- If a class extends ClusterMetrics in a client applications, it must implement the abstract method.
- Recompilation Required?
- YES
ClusterMetrics
Abstract method List getUnknownServerNames( ) has been added to this interface.
- Package Name
- org.apache.hadoop.hbase
- Effect
- Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method getUnknownServerNames ( ) in org.apache.hadoop.hbase.ClusterMetrics.
- Reason for change
- HBASE-27104
- Recommendation
- If a class extends ClusterMetrics in a client applications, it must implement the abstract method.
- Recompilation Required?
- YES
ServerMetrics
Abstract method List getTasks( ) has been added to this interface.
- Package Name
- org.apache.hadoop.hbase
- Effect
- Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method getTasks ( ) in org.apache.hadoop.hbase.ServerMetrics.
- Reason for change
- HBASE-26730
- Recommendation
- If a class extends ServerMetrics in a client applications, it must implement the abstract method.
- Recompilation Required?
- YES
Admin
Abstract method BalanceResponse balance has been added to this interface.
- Package Name
- org.apache.hadoop.hbase.client
- Effect
- Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method balance ( BalanceRequest ) in org.apache.hadoop.hbase.client.Admin.
- Reason for change
- HBASE-26147
- Recommendation
- If a class extends Admin in a client applications, it must implement the abstract method.
- Recompilation Required?
- YES
Admin
Abstract method Future<Void> flushAsync ( TableName; List<byte[ ]> ) has been added to this interface.
- Package Name
- org.apache.hadoop.hbase.client
- Effect
- Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method flushAsync ( TableName; List<byte[ ]> ) in org.apache.hadoop.hbase.client.Admin.
- Reason for change
- HBASE-26867
- Recommendation
- If a class extends Admin in a client applications, it must implement the abstract method.
- Recompilation Required?
- YES
Admin
Abstract method void flushMasterStore ( ) has been added to this interface.
- Package Name
- org.apache.hadoop.hbase.client
- Effect
- Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method flushMasterStore ( ) in org.apache.hadoop.hbase.client.Admin.
- Reason for change
- HBASE-27028
- Recommendation
- If a class extends Admin in a client applications, it must implement the abstract method.
- Recompilation Required?
- YES
Admin
Abstract method boolean isReplicationPeerEnabled ( String ) has been added to this interface.
- Package Name
- org.apache.hadoop.hbase.client
- Effect
- Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method isReplicationPeerEnabled ( String ) in org.apache.hadoop.hbase.client.Admin.
- Reason for change
- HBASE-27448
- Recommendation
- If a class extends Admin in a client applications, it must implement the abstract method.
- Recompilation Required?
- YES
Admin
Abstract method boolean isReplicationPeerEnabled ( String ) has been added to this interface.
- Package Name
- org.apache.hadoop.hbase.client
- Effect
- Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method isReplicationPeerModificationEnabled ( ) in org.apache.hadoop.hbase.client.Admin.
- Reason for change
- HBASE-27783
- Recommendation
- If a class extends Admin in a client applications, it must implement the abstract method.
- Recompilation Required?
- YES
Admin
Abstract method List<TableDescriptor> listTableDescriptorsByState ( boolean ) has been added to this interface.
- Package Name
- org.apache.hadoop.hbase.client
- Effect
- Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method listTableDescriptorsByState ( boolean ) in org.apache.hadoop.hbase.client.Admin.
- Reason for change
- HBASE-27444
- Recommendation
- If a class extends Admin in a client applications, it must implement the abstract method.
- Recompilation Required?
- YES
Admin
Abstract method List<TableName> listTableNamesByState ( boolean ) has been added to this interface.
- Package Name
- org.apache.hadoop.hbase.client
- Effect
- Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method listTableNamesByState ( boolean ) in org.apache.hadoop.hbase.client.Admin.
- Reason for change
- HBASE-27444
- Recommendation
- If a class extends Admin in a client applications, it must implement the abstract method.
- Recompilation Required?
- YES
Admin
Abstract method Future<Void> modifyTableAsync ( TableDescriptor; boolean ) has been added to this interface.
- Package Name
- org.apache.hadoop.hbase.client
- Effect
- Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method modifyTableAsync ( TableDescriptor; boolean ) in org.apache.hadoop.hbase.client.Admin.
- Reason for change
- HBASE-25549
- Recommendation
- If a class extends Admin in a client applications, it must implement the abstract method.
- Recompilation Required?
- YES
Admin
Abstract method boolean replicationPeerModificationSwitch ( boolean; boolean ) has been added to this interface.
- Package Name
- org.apache.hadoop.hbase.client
- Effect
- Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method replicationPeerModificationSwitch ( boolean; boolean ) in org.apache.hadoop.hbase.client.Admin.
- Reason for change
- HBASE-27783
- Recommendation
- If a class extends Admin in a client applications, it must implement the abstract method.
- Recompilation Required?
- YES
AsyncAdmin
Abstract method CompletableFuture<BalanceResponse> balance ( BalanceRequest ) has been added to this interface.
- Package Name
- org.apache.hadoop.hbase.client
- Effect
- Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method balance ( BalanceRequest ) in org.apache.hadoop.hbase.client.AsyncAdmin.
- Reason for change
- HBASE-26147
- Recommendation
- If a class extends AsyncAdmin in a client applications, it must implement the abstract method.
- Recompilation Required?
- YES
AsyncAdmin
Abstract method CompletableFuture<Void> flush ( TableName; List<byte[ ]> ) has been added to this interface.
- Package Name
- org.apache.hadoop.hbase.client
- Effect
- Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method flush ( TableName; List<byte[ ]> ) in org.apache.hadoop.hbase.client.AsyncAdmin.
- Reason for change
- HBASE-26867
- Recommendation
- If a class extends AsyncAdmin in a client applications, it must implement the abstract method.
- Recompilation Required?
- YES
AsyncAdmin
Abstract method CompletableFuture<Void> flushMasterStore ( ) has been added to this interface.
- Package Name
- org.apache.hadoop.hbase.client
- Effect
- Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method flushMasterStore ( ) in org.apache.hadoop.hbase.client.AsyncAdmin.
- Reason for change
- HBASE-27028
- Recommendation
- If a class extends AsyncAdmin in a client applications, it must implement the abstract method.
- Recompilation Required?
- YES
AsyncAdmin
Abstract method CompletableFuture<Boolean> isReplicationPeerEnabled ( String ) has been added to this interface.
- Package Name
- org.apache.hadoop.hbase.client
- Effect
- Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method isReplicationPeerEnabled ( String ) in org.apache.hadoop.hbase.client.AsyncAdmin.
- Reason for change
- HBASE-27448
- Recommendation
- If a class extends AsyncAdmin in a client applications, it must implement the abstract method.
- Recompilation Required?
- YES
AsyncAdmin
Abstract method CompletableFuture<Boolean> isReplicationPeerModificationEnabled ( ) has been added to this interface.
- Package Name
- org.apache.hadoop.hbase.client
- Effect
- Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method isReplicationPeerModificationEnabled ( ) in org.apache.hadoop.hbase.client.AsyncAdmin.
- Reason for change
- HBASE-27783
- Recommendation
- If a class extends AsyncAdmin in a client applications, it must implement the abstract method.
- Recompilation Required?
- YES
AsyncAdmin
Abstract method CompletableFuture<List<TableDescriptor>> listTableDescriptorsByState ( boolean ) has been added to this interface.
- Package Name
- org.apache.hadoop.hbase.client
- Effect
- Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method listTableDescriptorsByState ( boolean ) in org.apache.hadoop.hbase.client.AsyncAdmin.
- Reason for change
- HBASE-27444
- Recommendation
- If a class extends AsyncAdmin in a client applications, it must implement the abstract method.
- Recompilation Required?
- YES
AsyncAdmin
Abstract method CompletableFuture<List<TableName>> listTableNamesByState ( boolean ) has been added to this interface.
- Package Name
- org.apache.hadoop.hbase.client
- Effect
- Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method listTableNamesByState ( boolean ) in org.apache.hadoop.hbase.client.AsyncAdmin.
- Reason for change
- HBASE-27444
- Recommendation
- If a class extends AsyncAdmin in a client applications, it must implement the abstract method.
- Recompilation Required?
- YES
AsyncAdmin
Abstract method CompletableFuture<Void> modifyTable ( TableDescriptor; boolean ) has been added to this interface.
- Package Name
- org.apache.hadoop.hbase.client
- Effect
- Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method modifyTable ( TableDescriptor; boolean ) in org.apache.hadoop.hbase.client.AsyncAdmin.
- Reason for change
- HBASE-25549
- Recommendation
- If a class extends AsyncAdmin in a client applications, it must implement the abstract method.
- Recompilation Required?
- YES
AsyncAdmin
Abstract method CompletableFuture<Boolean> replicationPeerModificationSwitch ( boolean; boolean ) has been added to this interface.
- Package Name
- org.apache.hadoop.hbase.client
- Effect
- Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method replicationPeerModificationSwitch ( boolean; boolean ) in org.apache.hadoop.hbase.client.AsyncAdmin.
- Reason for change
- HBASE-27783
- Recommendation
- If a class extends AsyncAdmin in a client applications, it must implement the abstract method.
- Recompilation Required?
- YES
AsyncAdminBuilder
Abstract method AsyncAdminBuilder setRetryPauseForServerOverloaded ( long; TimeUnit ) has been added to this interface.
- Package Name
- org.apache.hadoop.hbase.client
- Effect
- Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method setRetryPauseForServerOverloaded ( long; TimeUnit ) in org.apache.hadoop.hbase.client.AsyncAdminBuilder.
- Reason for change
- HBASE-26807
- Recommendation
- If a class extends AsyncAdminBuilder in a client applications, it must implement the abstract method.
- Recompilation Required?
- YES
AsyncBufferedMutator
Abstract method int getMaxMutations ( ) has been added to this interface.
- Package Name
- org.apache.hadoop.hbase.client
- Effect
- Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method getMaxMutations ( ) in org.apache.hadoop.hbase.client.AsyncBufferedMutator.
- Reason for change
- HBASE-29148
- Recommendation
- If a class extends AsyncBufferedMutator in a client applications, it must implement the abstract method.
- Recompilation Required?
- YES
AsyncBufferedMutatorBuilder
Abstract method AsyncBufferedMutatorBuilder setMaxMutations ( int ) has been added to this interface.
- Package Name
- org.apache.hadoop.hbase.client
- Effect
- Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method setMaxMutations ( int ) in org.apache.hadoop.hbase.client.AsyncBufferedMutatorBuilder.
- Reason for change
- HBASE-29148
- Recommendation
- If a class extends AsyncBufferedMutatorBuilder in a client applications, it must implement the abstract method.
- Recompilation Required?
- YES
AsyncTableBuilder
Abstract method AsyncTableBuilder<C> setRequestAttribute ( String; byte[ ] ) has been added to this interface.
- Package Name
- org.apache.hadoop.hbase.client
- Effect
- Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method setRequestAttribute ( String; byte[ ] ) in org.apache.hadoop.hbase.client.AsyncTableBuilder<C>.
- Reason for change
- HBASE-27657
- Recommendation
- If a class extends AsyncTableBuilder in a client applications, it must implement the abstract method.
- Recompilation Required?
- YES
AsyncTableBuilder
Abstract method AsyncTableBuilder<C> setRetryPauseForServerOverloaded ( long; TimeUnit ) has been added to this interface.
- Package Name
- org.apache.hadoop.hbase.client
- Effect
- Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method setRetryPauseForServerOverloaded ( long; TimeUnit ) in org.apache.hadoop.hbase.client.AsyncTableBuilder<C>.
- Reason for change
- HBASE-26807
- Recommendation
- If a class extends AsyncTableBuilder in a client applications, it must implement the abstract method.
- Recompilation Required?
- YES
ColumnFamilyDescriptor
Abstract method IndexBlockEncoding getIndexBlockEncoding ( ) has been added to this interface.
- Package Name
- org.apache.hadoop.hbase.client
- Effect
- Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method getIndexBlockEncoding ( ) in org.apache.hadoop.hbase.client.ColumnFamilyDescriptor.
- Reason for change
- HBASE-27314
- Recommendation
- If a class extends ColumnFamilyDescriptor in a client applications, it must implement the abstract method.
- Recompilation Required?
- YES
ColumnFamilyDescriptor
Abstract method Compression.Algorithm getMajorCompactionCompressionType ( ) has been added to this interface.
- Package Name
- org.apache.hadoop.hbase.client
- Effect
- Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method getMajorCompactionCompressionType ( ) in org.apache.hadoop.hbase.client.ColumnFamilyDescriptor.
- Reason for change
- HBASE-25756
- Recommendation
- If a class extends ColumnFamilyDescriptor in a client applications, it must implement the abstract method.
- Recompilation Required?
- YES
ColumnFamilyDescriptor
Abstract method Compression.Algorithm getMinorCompactionCompressionType ( ) has been added to this interface.
- Package Name
- org.apache.hadoop.hbase.client
- Effect
- Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method getMinorCompactionCompressionType ( ) in org.apache.hadoop.hbase.client.ColumnFamilyDescriptor.
- Reason for change
- HBASE-25756
- Recommendation
- If a class extends ColumnFamilyDescriptor in a client applications, it must implement the abstract method.
- Recompilation Required?
- YES
ServiceCaller
Abstract method void call ( S; RpcController; RpcCallback<R> ) has been added to this interface.
- Package Name
- org.apache.hadoop.hbase.client
- Effect
- Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method call ( S; RpcController; RpcCallback<R> ) in org.apache.hadoop.hbase.client.ServiceCaller<S;R>.
- Reason for change
- CDPD-33849
- Recommendation
- Method signature changed, parameter type(s) changed to HBase thirdparty protobuf class(es). If a client application calls this method, it should import the HBase thirdparty protobuf class(es).
- Recompilation Required?
- YES
TableBuilder
Abstract method TableBuilder setRequestAttribute ( String; byte[ ] ) has been added to this interface.
- Package Name
- org.apache.hadoop.hbase.client
- Effect
- Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method setRequestAttribute ( String; byte[ ] ) in org.apache.hadoop.hbase.client.TableBuilder.
- Reason for change
- HBASE-27657
- Recommendation
- If a class extends TableBuilder in a client applications, it must implement the abstract method.
- Recompilation Required?
- YES
Compression.Algorithm
Abstract method CompressionCodec reload ( Configuration ) has been added to this class.
- Package Name
- org.apache.hadoop.hbase.io.compress
- Effect
- Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method reload ( Configuration ) in org.apache.hadoop.hbase.io.compress.Compression.Algorithm.
- Reason for change
- HBASE-26259
- Recommendation
- If a class extends Compression.Algorithm in a client applications, it must implement the abstract method.
- Recompilation Required?
- YES
Removed APIs in 7.3.2
The following APIs are no longer available for HBase in Cloudera Runtime 7.3.2
Table.batchCoprocessorService
Method removed
- Package Name
- org.apache.hadoop.hbase.client
- Effect
- A client program may be interrupted by NoSuchMethodError exception.
- Reason for change
- CDPD-33849
- Recommendation
- Method signature changed, return type and parameter types changed to HBase thirdparty protobuf classes. If a client application calls this method, it should import the HBase thirdparty protobuf class(es).
- Recompilation Required?
- Yes
AuthUtil.getAuthRenewalChore
Method removed
- Package Name
- org.apache.hadoop.hbase
- Effect
- A client program may be interrupted by NoSuchMethodError exception.
- Reason for change
- HBASE-26212
- Recommendation
- Non-public method. Clients should not depend on non-public methods.
- Recompilation Required?
- No
Bytes.<init>
Method removed
- Package Name
- org.apache.hadoop.hbase.util
- Effect
- A client program may be interrupted by NoSuchMethodError exception.
- Reason for change
- None
- Recommendation
- None
- Recompilation Required?
- No
PBType.encodedLength
Method removed
- Package Name
- org.apache.hadoop.hbase.types
- Effect
- A client program may be interrupted by NoSuchMethodError exception.
- Reason for change
- CDPD-33849
- Recommendation
- Method signature changed, parameter type changed to HBase thirdparty protobuf class. If a client application calls this method, it should import the HBase thirdparty protobuf class.
- Recompilation Required?
- Yes
