Skip to content

Commit

Permalink
Internal: Log when upgrade starts and stops
Browse files Browse the repository at this point in the history
closes #9227
  • Loading branch information
rjernst committed Jan 12, 2015
1 parent 0f3a39a commit 0e34116
Showing 1 changed file with 11 additions and 7 deletions.
Expand Up @@ -932,7 +932,7 @@ private void pruneDeletedTombstones() {

lastDeleteVersionPruneTimeMSec = timeMSec;
}

@Override
public void maybeMerge() throws EngineException {
if (!possibleMergeNeeded()) {
Expand All @@ -946,8 +946,8 @@ public void maybeMerge() throws EngineException {
throw new OptimizeFailedEngineException(shardId, t);
}
}

private void waitForMerges(boolean flushAfter) {
private void waitForMerges(boolean flushAfter, boolean upgrade) {
try {
currentIndexWriter().waitForMerges();
} catch (IOException e) {
Expand All @@ -956,6 +956,9 @@ private void waitForMerges(boolean flushAfter) {
if (flushAfter) {
flush(FlushType.COMMIT_TRANSLOG, true, true);
}
if (upgrade) {
logger.info("Finished upgrade of " + shardId);
}
}

@Override
Expand All @@ -964,7 +967,7 @@ public void forceMerge(boolean flush, boolean waitForMerge) {
}

@Override
public void forceMerge(boolean flush, boolean waitForMerge, int maxNumSegments, boolean onlyExpungeDeletes, boolean upgrade) throws EngineException {
public void forceMerge(final boolean flush, boolean waitForMerge, int maxNumSegments, boolean onlyExpungeDeletes, final boolean upgrade) throws EngineException {
if (optimizeMutex.compareAndSet(false, true)) {
try (InternalLock _ = readLock.acquire()) {
final IndexWriter writer = currentIndexWriter();
Expand All @@ -979,6 +982,7 @@ public void forceMerge(boolean flush, boolean waitForMerge, int maxNumSegments,
MergePolicy mp = writer.getConfig().getMergePolicy();
assert mp instanceof ElasticsearchMergePolicy : "MergePolicy is " + mp.getClass().getName();
if (upgrade) {
logger.info("Starting upgrade of " + shardId);
((ElasticsearchMergePolicy) mp).setUpgradeInProgress(true);
}

Expand All @@ -999,8 +1003,8 @@ public void forceMerge(boolean flush, boolean waitForMerge, int maxNumSegments,

// wait for the merges outside of the read lock
if (waitForMerge) {
waitForMerges(flush);
} else if (flush) {
waitForMerges(flush, upgrade);
} else if (flush || upgrade) {
// we only need to monitor merges for async calls if we are going to flush
engineConfig.getThreadPool().executor(ThreadPool.Names.OPTIMIZE).execute(new AbstractRunnable() {
@Override
Expand All @@ -1010,7 +1014,7 @@ public void onFailure(Throwable t) {

@Override
protected void doRun() throws Exception {
waitForMerges(true);
waitForMerges(flush, upgrade);
}
});
}
Expand Down

0 comments on commit 0e34116

Please sign in to comment.