[ https://issues.apache.org/jira/browse/HBASE-9038?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jean-Daniel Cryans updated HBASE-9038: -------------------------------------- Status: Patch Available (was: Open) > Compaction WALEdit gives NPEs with Replication enabled > ------------------------------------------------------ > > Key: HBASE-9038 > URL: https://issues.apache.org/jira/browse/HBASE-9038 > Project: HBase > Issue Type: Bug > Affects Versions: 0.95.1 > Reporter: Jean-Daniel Cryans > Assignee: Jean-Daniel Cryans > Priority: Blocker > Fix For: 0.98.0, 0.95.2 > > Attachments: HBASE-9038.patch > > > If you enable replication, and get a compaction requested, you'll see this in > the logs: > {noformat} > 2013-07-24 15:16:38,831 ERROR > [regionserver60020-smallCompactions-1374704194254] > regionserver.CompactSplitThread: Compaction failed Request = > regionName=TestTable,00000000000000000000057204,1374704192994.6bb7c58d1e6cc99fbfe04592e44fbc35., > storeName=info, fileCount=4, fileSize=335.1m (115.4m, 115.4m, 69.0m, 35.2m), > priority=6, time=1374704194257521000 > java.lang.NullPointerException > at > org.apache.hadoop.hbase.replication.regionserver.Replication.visitLogEntryBeforeWrite(Replication.java:215) > at > org.apache.hadoop.hbase.regionserver.wal.FSHLog.doWrite(FSHLog.java:1204) > at > org.apache.hadoop.hbase.regionserver.wal.FSHLog.append(FSHLog.java:890) > at > org.apache.hadoop.hbase.regionserver.wal.FSHLog.append(FSHLog.java:840) > at > org.apache.hadoop.hbase.regionserver.wal.HLogUtil.writeCompactionMarker(HLogUtil.java:262) > at > org.apache.hadoop.hbase.regionserver.HStore.writeCompactionWalRecord(HStore.java:1026) > at org.apache.hadoop.hbase.regionserver.HStore.compact(HStore.java:973) > at > org.apache.hadoop.hbase.regionserver.HRegion.compact(HRegion.java:1278) > at > org.apache.hadoop.hbase.regionserver.CompactSplitThread$CompactionRunner.run(CompactSplitThread.java:465) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) > at java.lang.Thread.run(Thread.java:680) > {noformat} > It's a simple case of filtering METAFAMILY like this: > bq. if (kv.matchingFamily(WALEdit.METAFAMILY)) continue; > and add a unit test. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira