File tree Expand file tree Collapse file tree
server/src/main/java/org/elasticsearch/index/shard Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -1606,21 +1606,19 @@ private void innerOpenEngineAndTranslog(LongSupplier globalCheckpointSupplier) t
16061606 synchronized (engineMutex ) {
16071607 // we must create a new engine under mutex (see IndexShard#snapshotStoreMetadata).
16081608 final Engine newEngine = engineFactory .newReadWriteEngine (config );
1609- boolean success = false ;
1610- try {
1611- synchronized (mutex ) {
1609+ synchronized (mutex ) {
1610+ try {
16121611 verifyNotClosed ();
16131612 assert currentEngineReference .get () == null : "engine is running" ;
16141613 onNewEngine (newEngine );
16151614 currentEngineReference .set (newEngine );
16161615 // We set active because we are now writing operations to the engine; this way,
16171616 // if we go idle after some time and become inactive, we still give sync'd flush a chance to run.
16181617 active .set (true );
1619- success = true ;
1620- }
1621- } finally {
1622- if (success == false ) {
1623- newEngine .close ();
1618+ } finally {
1619+ if (currentEngineReference .get () != newEngine ) {
1620+ newEngine .close ();
1621+ }
16241622 }
16251623 }
16261624 }
@@ -3372,16 +3370,14 @@ public void close() throws IOException {
33723370 IOUtils .close (super ::close , newEngine );
33733371 }
33743372 };
3375- boolean success = false ;
3376- try {
3377- synchronized (mutex ) {
3373+ synchronized (mutex ) {
3374+ try {
33783375 verifyNotClosed ();
33793376 IOUtils .close (currentEngineReference .getAndSet (readOnlyEngine ));
3380- success = true ;
3381- }
3382- } finally {
3383- if (success == false ) {
3384- readOnlyEngine .close ();
3377+ } finally {
3378+ if (currentEngineReference .get () != readOnlyEngine ) {
3379+ readOnlyEngine .close ();
3380+ }
33853381 }
33863382 }
33873383 newEngineReference .set (engineFactory .newReadWriteEngine (newEngineConfig (replicationTracker )));
You can’t perform that action at this time.
0 commit comments