[ 
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)

Reply via email to