Sergey Soldatov created PHOENIX-3001:
----------------------------------------

             Summary: Dropping local index and recreation it with following 
split may cause RS failure
                 Key: PHOENIX-3001
                 URL: https://issues.apache.org/jira/browse/PHOENIX-3001
             Project: Phoenix
          Issue Type: Bug
    Affects Versions: 4.8.0
            Reporter: Sergey Soldatov
            Assignee: Sergey Soldatov
            Priority: Critical


If local index was dropped and recreated during the next split RS crashes with 
the following exception :
{noformat}
java.lang.NullPointerException
        at 
org.apache.hadoop.hbase.regionserver.LocalIndexStoreFileScanner.isSatisfiedMidKeyCondition(LocalIndexStoreFileScanner.java:158)
        at 
org.apache.hadoop.hbase.regionserver.LocalIndexStoreFileScanner.seekOrReseekToProperKey(LocalIndexStoreFileScanner.java:236)
        at 
org.apache.hadoop.hbase.regionserver.LocalIndexStoreFileScanner.seekOrReseek(LocalIndexStoreFileScanner.java:217)
        at 
org.apache.hadoop.hbase.regionserver.LocalIndexStoreFileScanner.seek(LocalIndexStoreFileScanner.java:89)
        at 
org.apache.hadoop.hbase.regionserver.StoreScanner.seekScanners(StoreScanner.java:363)
        at 
org.apache.hadoop.hbase.regionserver.StoreScanner.<init>(StoreScanner.java:281)
        at 
org.apache.hadoop.hbase.regionserver.StoreScanner.<init>(StoreScanner.java:243)
        at 
org.apache.hadoop.hbase.regionserver.IndexHalfStoreFileReaderGenerator.preCompactScannerOpen(IndexHalfStoreFileReaderGenerator.java:212)
        at 
org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost$6.call(RegionCoprocessorHost.java:499)
        at 
org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost$RegionOperation.call(RegionCoprocessorHost.java:1638)
        at 
org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost.execOperation(RegionCoprocessorHost.java:1712)
        at 
org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost.execOperationWithResult(RegionCoprocessorHost.java:1677)
        at 
org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost.preCompactScannerOpen(RegionCoprocessorHost.java:494)
        at 
org.apache.hadoop.hbase.regionserver.compactions.Compactor.preCreateCoprocScanner(Compactor.java:349)
        at 
org.apache.hadoop.hbase.regionserver.compactions.Compactor.compact(Compactor.java:293)
        at 
org.apache.hadoop.hbase.regionserver.compactions.DefaultCompactor.compact(DefaultCompactor.java:68)
        at 
org.apache.hadoop.hbase.regionserver.DefaultStoreEngine$DefaultCompactionContext.compact(DefaultStoreEngine.java:126)
        at org.apache.hadoop.hbase.regionserver.HStore.compact(HStore.java:1239)
        at 
org.apache.hadoop.hbase.regionserver.HRegion.compact(HRegion.java:1904)
        at 
org.apache.hadoop.hbase.regionserver.CompactSplitThread$CompactionRunner.doCompaction(CompactSplitThread.java:525)
        at 
org.apache.hadoop.hbase.regionserver.CompactSplitThread$CompactionRunner.run(CompactSplitThread.java:562)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
{noformat}

The reason is that in the isSatisfiedMidKeyCondition we are looking for current 
 index maintainers only, so for deleted rows we are unable to build rowkey
FYI [~rajeshbabu].
[[email protected]] It looks like a blocker for the release



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

Reply via email to