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)