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

Hudson commented on HBASE-14904:
--------------------------------

SUCCESS: Integrated in HBase-1.3 #413 (See 
[https://builds.apache.org/job/HBase-1.3/413/])
HBASE-14904 Mark Base[En|De]coder LimitedPrivate and fix binary compat (enis: 
rev edb8edfeb3564152dfacac0e5fe71ba295df821e)
* hbase-common/src/main/java/org/apache/hadoop/hbase/codec/BaseDecoder.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.java
* hbase-server/src/main/java/org/apache/hadoop/hbase/wal/WALPrettyPrinter.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/CompressionContext.java
* hbase-common/src/main/java/org/apache/hadoop/hbase/codec/BaseEncoder.java


> Mark Base[En|De]coder LimitedPrivate and fix binary compat issue
> ----------------------------------------------------------------
>
>                 Key: HBASE-14904
>                 URL: https://issues.apache.org/jira/browse/HBASE-14904
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Enis Soztutar
>            Assignee: Enis Soztutar
>             Fix For: 2.0.0, 1.2.0, 1.3.0, 1.1.3, 0.98.17, 1.0.4
>
>         Attachments: hbase-14904_v1.patch, hbase-14904_v2.patch
>
>
> PHOENIX-2477 revealed that the changes from HBASE-14501 breaks binary 
> compatibility in Phoenix compiled with earlier versions of HBase and run 
> agains later versions. 
> This is one of the areas that the boundary is not clear, but it won't hurt us 
> to fix it. 
> The exception trace is: 
> {code}
> Exception in thread "main" java.lang.NoSuchFieldError: in
>       at 
> org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec$PhoenixBaseDecoder.<init>(IndexedWALEditCodec.java:106)
>       at 
> org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec$IndexKeyValueDecoder.<init>(IndexedWALEditCodec.java:121)
>       at 
> org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec.getDecoder(IndexedWALEditCodec.java:63)
>       at 
> org.apache.hadoop.hbase.regionserver.wal.ProtobufLogReader.initAfterCompression(ProtobufLogReader.java:292)
>       at 
> org.apache.hadoop.hbase.regionserver.wal.ReaderBase.init(ReaderBase.java:82)
>       at 
> org.apache.hadoop.hbase.regionserver.wal.ProtobufLogReader.init(ProtobufLogReader.java:148)
>       at 
> org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:316)
>       at 
> org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:281)
>       at 
> org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:269)
>       at 
> org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:418)
>       at 
> org.apache.hadoop.hbase.wal.WALPrettyPrinter.processFile(WALPrettyPrinter.java:247)
>       at 
> org.apache.hadoop.hbase.wal.WALPrettyPrinter.run(WALPrettyPrinter.java:422)
>       at 
> org.apache.hadoop.hbase.wal.WALPrettyPrinter.main(WALPrettyPrinter.java:357)
> {code}
> Although {{BaseDecoder.in}} is still there, it got changed to be a class 
> rather than an interface. BaseDecoder is marked Private, thus the binary 
> compat check is not run at all. Not sure whether it would have caught this. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to