You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Shunsuke Nakamura (JIRA)" <ji...@apache.org> on 2014/10/25 08:19:34 UTC
[jira] [Commented] (PHOENIX-1381) NPE in CellUtil.matchingFamily()
for IndexedKeyValue
[ https://issues.apache.org/jira/browse/PHOENIX-1381?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14183995#comment-14183995 ]
Shunsuke Nakamura commented on PHOENIX-1381:
--------------------------------------------
I tried your patch + my another one, PHOENIX-1379. I checked it works well in the following scenario:
# Start HBase-0.98.7 in standalone mode
# Create phoenix table & the local index and upsert a few rows
# Kill HBase process without flushing the table
# Restart HBase
# Region recovered and reopened successfully
# Check stored rows by phoenix query
Thank you for patch.
> NPE in CellUtil.matchingFamily() for IndexedKeyValue
> ----------------------------------------------------
>
> Key: PHOENIX-1381
> URL: https://issues.apache.org/jira/browse/PHOENIX-1381
> Project: Phoenix
> Issue Type: Bug
> Affects Versions: 4.1
> Environment: hbase 0.98.4+
> Reporter: Shunsuke Nakamura
> Priority: Critical
> Attachments: PHOENIX-1381.patch
>
>
> NPE in replayRecoveredEdits of phoenix table with local index:
> {code}
> 2014-10-16 10:54:29,871 ERROR [RS_OPEN_REGION-XX.XX.XX.XX:53489-1] handler.OpenRegionHandler: Failed open of region=USERTABLE,,1413366337840.f170ee16e795c42b607b962a557a8c2c., starting to roll back the global memstore size.
> java.lang.NullPointerException
> at org.apache.hadoop.hbase.util.Bytes.toShort(Bytes.java:845)
> at org.apache.hadoop.hbase.util.Bytes.toShort(Bytes.java:832)
> at org.apache.hadoop.hbase.KeyValue.getRowLength(KeyValue.java:1303)
> at org.apache.hadoop.hbase.KeyValue.getFamilyOffset(KeyValue.java:1319)
> at org.apache.hadoop.hbase.CellUtil.matchingFamily(CellUtil.java:329)
> at org.apache.hadoop.hbase.CellUtil.matchingColumn(CellUtil.java:344)
> at org.apache.hadoop.hbase.regionserver.wal.WALEdit.getCompaction(WALEdit.java:285)
> at org.apache.hadoop.hbase.regionserver.HRegion.replayRecoveredEdits(HRegion.java:3271)
> at org.apache.hadoop.hbase.regionserver.HRegion.replayRecoveredEditsIfAny(HRegion.java:3135)
> {code}
> IndexedKeyValue is an incomplete Cell implementation. Then a part of CellUtil methods such as matchingFamily don't work well for the IndexedKeyValue.
> With HBase-0.98.4+, this issue can be caused because the matching by kv.matchingColumn in WALEdit.getCompaction was replaced with CellUtils's one at HBASE-11475.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)