Skip to content

Commit 247a9d3

Browse files
committed
Sets the new engine before closing the previous one in IndexShard.resetEngine
1 parent cde8493 commit 247a9d3

File tree

1 file changed

+4
-6
lines changed

1 file changed

+4
-6
lines changed

server/src/main/java/org/elasticsearch/index/shard/IndexShard.java

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4317,17 +4317,15 @@ public void resetEngine() {
43174317
assert waitForEngineOrClosedShardListeners.isDone();
43184318
try {
43194319
synchronized (engineMutex) {
4320-
final var currentEngine = getEngine();
4321-
currentEngine.prepareForEngineReset();
4322-
var engineConfig = newEngineConfig(replicationTracker);
43234320
verifyNotClosed();
4324-
IOUtils.close(currentEngine);
4325-
var newEngine = createEngine(engineConfig);
4326-
currentEngineReference.set(newEngine);
4321+
getEngine().prepareForEngineReset();
4322+
var newEngine = createEngine(newEngineConfig(replicationTracker));
4323+
IOUtils.close(currentEngineReference.getAndSet(newEngine));
43274324
onNewEngine(newEngine);
43284325
}
43294326
onSettingsChanged();
43304327
} catch (Exception e) {
4328+
assert false : e;
43314329
failShard("unable to reset engine", e);
43324330
}
43334331
}

0 commit comments

Comments
 (0)