You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Sergey Soldatov (JIRA)" <ji...@apache.org> on 2016/07/13 09:10:20 UTC

[jira] [Resolved] (PHOENIX-3068) NPE during compaction when local index is used

     [ https://issues.apache.org/jira/browse/PHOENIX-3068?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sergey Soldatov resolved PHOENIX-3068.
--------------------------------------
    Resolution: Duplicate

Oops. Didn't notice that we already have this bug.

> NPE during compaction when local index is used
> ----------------------------------------------
>
>                 Key: PHOENIX-3068
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-3068
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 4.8
>            Reporter: Sergey Soldatov
>            Assignee: Sergey Soldatov
>            Priority: Critical
>
> When compaction happen during execution of scan over local index the following exception may appears:
> {noformat}
> Caused by: java.lang.NullPointerException
> at org.apache.hadoop.hbase.io.hfile.HFileBlock$AbstractFSReader.readAtOffset(HFileBlock.java:1397)
> at org.apache.hadoop.hbase.io.hfile.HFileBlock$FSReaderImpl.readBlockDataInternal(HFileBlock.java:1625)
> at org.apache.hadoop.hbase.io.hfile.HFileBlock$FSReaderImpl.readBlockData(HFileBlock.java:1504)
> at org.apache.hadoop.hbase.io.hfile.HFileReaderV2.readBlock(HFileReaderV2.java:439)
> at org.apache.hadoop.hbase.io.hfile.HFileReaderV2$AbstractScannerV2.readNextDataBlock(HFileReaderV2.java:713)
> at org.apache.hadoop.hbase.io.hfile.HFileReaderV2$EncodedScannerV2.next(HFileReaderV2.java:1256)
> at org.apache.hadoop.hbase.regionserver.StoreFileScanner.next(StoreFileScanner.java:152)
> at org.apache.hadoop.hbase.regionserver.LocalIndexStoreFileScanner.seekOrReseekToProperKey(LocalIndexStoreFileScanner.java:234)
> at org.apache.hadoop.hbase.regionserver.LocalIndexStoreFileScanner.seekOrReseek(LocalIndexStoreFileScanner.java:226)
> at org.apache.hadoop.hbase.regionserver.LocalIndexStoreFileScanner.reseek(LocalIndexStoreFileScanner.java:94)
> at org.apache.hadoop.hbase.regionserver.NonLazyKeyValueScanner.doRealSeek(NonLazyKeyValueScanner.java:55)
> at org.apache.hadoop.hbase.regionserver.KeyValueHeap.generalizedSeek(KeyValueHeap.java:312)
> at org.apache.hadoop.hbase.regionserver.KeyValueHeap.requestSeek(KeyValueHeap.java:268)
> at org.apache.hadoop.hbase.regionserver.StoreScanner.reseek(StoreScanner.java:815)
> at org.apache.hadoop.hbase.regionserver.StoreScanner.seekToNextRow(StoreScanner.java:792)
> at org.apache.hadoop.hbase.regionserver.StoreScanner.next(StoreScanner.java:592)
> at org.apache.hadoop.hbase.regionserver.KeyValueHeap.next(KeyValueHeap.java:147)
> at org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.populateResult(HRegion.java:5699)
> at org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.nextInternal(HRegion.java:5850)
> at org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.nextRaw(HRegion.java:5637)
> at org.apache.phoenix.coprocessor.BaseScannerRegionObserver$2.nextRaw(BaseScannerRegionObserver.java:414)
> {noformat}
> The reason is that StoreScanner that is produced by IndexHalfStoreFileReaderGenerator#preStoreScannerOpen are not registered  as an observer for changing set of readers. So, when compaction delete the original store file, StoreScanner keeps  using old scanners.
> [~rajeshbabu], [~enis] FYI



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