You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Enis Soztutar (JIRA)" <ji...@apache.org> on 2015/12/02 01:41:10 UTC
[jira] [Commented] (PHOENIX-2477) ClassCastException in
IndexedWALEditCodec after HBASE-14501
[ https://issues.apache.org/jira/browse/PHOENIX-2477?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15034989#comment-15034989 ]
Enis Soztutar commented on PHOENIX-2477:
----------------------------------------
BaseDecoder is {{InputStream}} based, versus {{KeyValueDecoder}} uses DataInput.
{code}
public class IndexKeyValueDecoder extends BaseDecoder {
public IndexKeyValueDecoder(InputStream is){
super(is);
}
protected KeyValue parseCell() throws IOException{
return KeyValueCodec.readKeyValue((DataInput) this.in);
}
}
{code}
HBase has moved from DataInput to InputStream in going from KV to Cell based internals. Seems that going that way in Phoenix is the way to go. cc [~apurtell], [~anoop.hbase].
> ClassCastException in IndexedWALEditCodec after HBASE-14501
> ------------------------------------------------------------
>
> 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
>
> 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)