HBASE-12454 Setting didPerformCompaction early in HRegion#compact
This commit is contained in:
parent
fb6c5c7fe8
commit
b0a434a5ce
|
@ -1565,8 +1565,8 @@ public class HRegion implements HeapSize, PropagatingConfigurationObserver { //
|
|||
doRegionCompactionPrep();
|
||||
try {
|
||||
status.setStatus("Compacting store " + store);
|
||||
didPerformCompaction = true;
|
||||
store.compact(compaction);
|
||||
didPerformCompaction = true;
|
||||
} catch (InterruptedIOException iioe) {
|
||||
String msg = "compaction interrupted";
|
||||
LOG.info(msg, iioe);
|
||||
|
|
|
@ -1544,7 +1544,9 @@ public class HStore implements Store {
|
|||
|
||||
@Override
|
||||
public void cancelRequestedCompaction(CompactionContext compaction) {
|
||||
finishCompactionRequest(compaction.getRequest());
|
||||
if (compaction != null) {
|
||||
finishCompactionRequest(compaction.getRequest());
|
||||
}
|
||||
}
|
||||
|
||||
private void finishCompactionRequest(CompactionRequest cr) {
|
||||
|
|
|
@ -161,6 +161,9 @@ public class TestCompaction {
|
|||
}).when(spyR).doRegionCompactionPrep();
|
||||
|
||||
// force a minor compaction, but not before requesting a stop
|
||||
|
||||
// Accounting: Normally compaction requests go through HStore#requestCompaction
|
||||
r.reportCompactionRequestStart(false);
|
||||
spyR.compactStores();
|
||||
|
||||
// ensure that the compaction stopped, all old files are intact,
|
||||
|
|
Loading…
Reference in New Issue