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)