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

Enis Soztutar edited comment on PHOENIX-2477 at 12/2/15 3:11 AM:
-----------------------------------------------------------------

v2 patch is the actual fix. I have tested this with verifying manually that we 
can read what we have written back from a live WAL file. 

When testing v2, I have noticed that this area touches a possible binary 
incompability though. When Phoenix is compiled with an HBase version not 
containing HBASE-14501 (1.1.1), the phoenix-server.jar cannot be run with an 
HBase version containing HBASE-14501 (1.1.3).

Does Phoenix have an explicit guarantee about binary compatibility of the 
underlying HBase versions? I guess it is implied.

Whether this is an HBase problem or a Phoenix problem is up for discussion 
though. BaseDecoder and BaseEncoder are marked Private, so HBase does not 
consider the changes in these interfaces as breaking. However, we do not want 
to unnecessarily break binary compat if we can avoid it from HBase. 


was (Author: enis):
v2 patch is the actual fix. I have tested this with verifying manually that we 
can read what we have written back from a live WAL file. 

When testing v2, I have noticed that this area touches a possible binary 
incompability though. When Phoenix is compiled with an HBase version not 
containing HBASE-14501 (1.1.1), the phoenix-server.jar cannot be run with an 
HBase version containing HBASE-14501 (1.1.3).

Does Phoenix have an explicit guarantee about binary compatibility of the 
underlying HBase versions? I guess it is implied.

Whether this is an HBase problem or a Phoenix problem is up for discussion 
though. BaseDecoder and BaseEncoder are marked Private, so HBase does not 
consider the changes in these interfaces as breaking.  


BaseDecoder is marked with Private. 

> ClassCastException in IndexedWALEditCodec after HBASE-14501 (possible 
> dataloss)
> -------------------------------------------------------------------------------
>
>                 Key: PHOENIX-2477
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-2477
>             Project: Phoenix
>          Issue Type: Bug
>            Reporter: Enis Soztutar
>            Assignee: Enis Soztutar
>            Priority: Critical
>         Attachments: phoenix-2477_v1.patch, phoenix-2477_v2.patch
>
>
> HBASE-14501 fixed the semantics in using the InputStream.available() and the 
> interface between the actual Decoder and BaseDecoder. 
> Running Phoenix with IndexedWALEditCodec on top of an HBase version 
> containing HBASE-14501 now causes silent data loss since the Decoder throws 
> {code}
> java.lang.ClassCastException: org.apache.hadoop.hbase.codec.BaseDecoder$PBIS 
> cannot be cast to java.io.DataInput
> {code}
> which gets silently ignored from ProtobufLogReader. 



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

Reply via email to