[
https://issues.apache.org/jira/browse/HBASE-18733?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16160744#comment-16160744
]
stack commented on HBASE-18733:
-------------------------------
WALKey, @InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.REPLICATION),
changed a bunch for 2.0.0, so much so, we figured it ok purging it since it was
a useless class anyways and CPs using it had to change anyways.
Here is list of changes in 2.0.0 for completeness sake.
Additions:
{code}
hbase-server-3.0.0-SNAPSHOT.jar, WALKey.class
package org.apache.hadoop.hbase.wal
WALKey.estimatedSerializedSizeOf ( ) : long
org/apache/hadoop/hbase/wal/WALKey.estimatedSerializedSizeOf:()J
WALKey.getBuilder ( WALCellCodec.ByteStringCompressor compressor ) :
WALProtos.WALKey.Builder
org/apache/hadoop/hbase/wal/WALKey.getBuilder:(Lorg/apache/hadoop/hbase/regionserver/wal/WALCellCodec$ByteStringCompressor;)Lorg/apache/hadoop/hbase/shaded/protobuf/generated/WALProtos$WALKey$Builder;
WALKey.getReplicationScopes ( ) : NavigableMap<byte[ ],Integer>
org/apache/hadoop/hbase/wal/WALKey.getReplicationScopes:()Ljava/util/NavigableMap;
WALKey.init ( byte[ ] encodedRegionName, TableName tablename, long logSeqNum,
long now, List<UUID> clusterIds, long nonceGroup, long nonce,
MultiVersionConcurrencyControl mvcc, NavigableMap<byte[ ],Integer>
replicationScope ) : void
org/apache/hadoop/hbase/wal/WALKey.init:([BLorg/apache/hadoop/hbase/TableName;JJLjava/util/List;JJLorg/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl;Ljava/util/NavigableMap;)V
WALKey.readFieldsFromPb ( WALProtos.WALKey walKey,
WALCellCodec.ByteStringUncompressor uncompressor ) : void
org/apache/hadoop/hbase/wal/WALKey.readFieldsFromPb:(Lorg/apache/hadoop/hbase/shaded/protobuf/generated/WALProtos$WALKey;Lorg/apache/hadoop/hbase/regionserver/wal/WALCellCodec$ByteStringUncompressor;)V
WALKey.serializeReplicationScope ( boolean serialize ) : void
org/apache/hadoop/hbase/wal/WALKey.serializeReplicationScope:(Z)V
WALKey.setSequenceId ( long sequenceId ) : void
org/apache/hadoop/hbase/wal/WALKey.setSequenceId:(J)V
WALKey.WALKey ( byte[ ] encodedRegionName, TableName tablename, long logSeqNum,
long now, List<UUID> clusterIds, long nonceGroup, long nonce,
MultiVersionConcurrencyControl mvcc, NavigableMap<byte[ ],Integer>
replicationScope )
org/apache/hadoop/hbase/wal/WALKey."<init>":([BLorg/apache/hadoop/hbase/TableName;JJLjava/util/List;JJLorg/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl;Ljava/util/NavigableMap;)V
WALKey.WALKey ( byte[ ] encodedRegionName, TableName tablename, long now,
List<UUID> clusterIds, long nonceGroup, long nonce,
MultiVersionConcurrencyControl mvcc, NavigableMap<byte[ ],Integer>
replicationScope )
org/apache/hadoop/hbase/wal/WALKey."<init>":([BLorg/apache/hadoop/hbase/TableName;JLjava/util/List;JJLorg/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl;Ljava/util/NavigableMap;)V
WALKey.WALKey ( byte[ ] encodedRegionName, TableName tablename, long now,
MultiVersionConcurrencyControl mvcc, NavigableMap<byte[ ],Integer>
replicationScope )
org/apache/hadoop/hbase/wal/WALKey."<init>":([BLorg/apache/hadoop/hbase/TableName;JLorg/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl;Ljava/util/NavigableMap;)V
WALKey.WALKey ( byte[ ] encodedRegionName, TableName tablename, long now,
NavigableMap<byte[ ],Integer> replicationScope )
org/apache/hadoop/hbase/wal/WALKey."<init>":([BLorg/apache/hadoop/hbase/TableName;JLjava/util/NavigableMap;)V
WALKey.WALKey ( NavigableMap<byte[ ],Integer> replicationScope )
org/apache/hadoop/hbase/wal/WALKey."<init>":(Ljava/util/NavigableMap;)V
{code}
Removed methods:
{code}
hbase-server-1.2.7-SNAPSHOT.jar, WALKey.class
package org.apache.hadoop.hbase.wal
WALKey.getBuilder ( WALCellCodec.ByteStringCompressor compressor ) :
WALProtos.WALKey.Builder
org/apache/hadoop/hbase/wal/WALKey.getBuilder:(Lorg/apache/hadoop/hbase/regionserver/wal/WALCellCodec$ByteStringCompressor;)Lorg/apache/hadoop/hbase/protobuf/generated/WALProtos$WALKey$Builder;
WALKey.getScopes ( ) : NavigableMap<byte[ ],Integer>
org/apache/hadoop/hbase/wal/WALKey.getScopes:()Ljava/util/NavigableMap;
WALKey.getSequenceId ( long maxWaitForSeqId ) : long
org/apache/hadoop/hbase/wal/WALKey.getSequenceId:(J)J
WALKey.init ( byte[ ] encodedRegionName, TableName tablename, long logSeqNum,
long now, List<UUID> clusterIds, long nonceGroup, long nonce,
MultiVersionConcurrencyControl mvcc ) : void
org/apache/hadoop/hbase/wal/WALKey.init:([BLorg/apache/hadoop/hbase/TableName;JJLjava/util/List;JJLorg/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl;)V
WALKey.readFieldsFromPb ( WALProtos.WALKey walKey,
WALCellCodec.ByteStringUncompressor uncompressor ) : void
org/apache/hadoop/hbase/wal/WALKey.readFieldsFromPb:(Lorg/apache/hadoop/hbase/protobuf/generated/WALProtos$WALKey;Lorg/apache/hadoop/hbase/regionserver/wal/WALCellCodec$ByteStringUncompressor;)V
WALKey.readOlderScopes ( NavigableMap<byte[ ],Integer> scopes ) : void
org/apache/hadoop/hbase/wal/WALKey.readOlderScopes:(Ljava/util/NavigableMap;)V
WALKey.setLogSeqNum ( long sequence ) : void
org/apache/hadoop/hbase/wal/WALKey.setLogSeqNum:(J)V
WALKey.setScopes ( NavigableMap<byte[ ],Integer> scopes ) : void
org/apache/hadoop/hbase/wal/WALKey.setScopes:(Ljava/util/NavigableMap;)V
WALKey.WALKey ( byte[ ] encodedRegionName, TableName tablename )
org/apache/hadoop/hbase/wal/WALKey."<init>":([BLorg/apache/hadoop/hbase/TableName;)V
{code}
The flagged problematic change is this one:
{code}
hbase-server-1.2.7-SNAPSHOT.jar, WALKey.class
package org.apache.hadoop.hbase.wal
[−] WALKey.getBuilder ( WALCellCodec.ByteStringCompressor compressor ) :
WALProtos.WALKey.Builder 1
org/apache/hadoop/hbase/wal/WALKey.getBuilder:(Lorg/apache/hadoop/hbase/regionserver/wal/WALCellCodec$ByteStringCompressor;)Lorg/apache/hadoop/hbase/protobuf/generated/WALProtos$WALKey$Builder;
Change Effect
1 Return value type has been changed from
org.apache.hadoop.hbase.protobuf.generated.WALProtos.WALKey.Builder to
org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.WALKey.Builder.
This method has been removed because the return type is part of the method
signature. A client program may be interrupted by NoSuchMethodError exception.
Other changes were:
{code}
hbase-server-1.2.7-SNAPSHOT.jar
package org.apache.hadoop.hbase.wal
[−] class WALKey 7
Change Effect
1 Access level of field clusterIds has been changed from protected to
private. A client program may be interrupted by IllegalAccessError exception.
2 Access level of field compressionContext has been changed from
protected to private. A client program may be interrupted by
IllegalAccessError exception.
3 Access level of field encodedRegionName has been changed from protected
to private. A client program may be interrupted by IllegalAccessError
exception.
4 Access level of field tablename has been changed from protected to
private. A client program may be interrupted by IllegalAccessError
exception.
5 Access level of field writeTime has been changed from protected to
private. A client program may be interrupted by IllegalAccessError
exception.
6 Field VERSION of type WALKey.Version has been removed from this class.
A client program may be interrupted by NoSuchFieldError exception.
7 Field logSeqNum of type long has been removed from this class. A
client program may be interrupted by NoSuchFieldError exception.
[+] affected methods: 35 (0.5%)
{code}
This method changed:
{code}
hbase-server-1.2.7-SNAPSHOT.jar, WALKey.class
package org.apache.hadoop.hbase.wal
[−] WALKey.getSequenceId ( ) : long 1
org/apache/hadoop/hbase/wal/WALKey.getSequenceId:()J
Change Effect
1 Removed java.io.IOException exception thrown. A client program may
change behavior because the removed exception will not be thrown any more and
client will not catch and handle it.
{code}
> [compat 1-2] Hide WALKey
> ------------------------
>
> Key: HBASE-18733
> URL: https://issues.apache.org/jira/browse/HBASE-18733
> Project: HBase
> Issue Type: Sub-task
> Components: API
> Reporter: stack
> Assignee: Sean Busbey
> Fix For: 2.0.0-alpha-3
>
>
> It has all the below issues and it uses our internal PB. See head of class
> where it says it should go away...
> hbase-server-1.0.0.jar, WALEdit.class
> package org.apache.hadoop.hbase.regionserver.wal
> [−] WALEdit.getCompaction ( Cell kv ) [static] :
> WALProtos.CompactionDescriptor 1
> org/apache/hadoop/hbase/regionserver/wal/WALEdit.getCompaction:(Lorg/apache/hadoop/hbase/Cell;)Lorg/apache/hadoop/hbase/protobuf/generated/WALProtos$CompactionDescriptor;
> Change Effect
> 1 Return value type has been changed from
> org.apache.hadoop.hbase.protobuf.generated.WALProtos.CompactionDescriptor to
> org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.CompactionDescriptor.
> This method has been removed because the return type is part of the method
> signature. A client program may be interrupted by NoSuchMethodError exception.
> [+] WALEdit.getFlushDescriptor ( Cell cell ) [static] :
> WALProtos.FlushDescriptor 1
> [+] WALEdit.getRegionEventDescriptor ( Cell cell ) [static] :
> WALProtos.RegionEventDescriptor 1
> hbase-server-1.0.0.jar, WALKey.class
> package org.apache.hadoop.hbase.wal
> [+] WALKey.getBuilder ( WALCellCodec.ByteStringCompressor compressor ) :
> WALProtos.WALKey.Builder 1
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)