diff --git a/core/src/main/java/org/elasticsearch/index/translog/Translog.java b/core/src/main/java/org/elasticsearch/index/translog/Translog.java index 3d6b76922a4..4016695dd89 100644 --- a/core/src/main/java/org/elasticsearch/index/translog/Translog.java +++ b/core/src/main/java/org/elasticsearch/index/translog/Translog.java @@ -542,6 +542,7 @@ public class Translog extends AbstractIndexShardComponent implements IndexShardC public boolean ensureSynced(Location location) throws IOException { try (ReleasableLock lock = readLock.acquire()) { if (location.generation == current.generation) { // if we have a new one it's already synced + ensureOpen(); return current.syncUpTo(location.translogLocation + location.size); } } diff --git a/core/src/main/java/org/elasticsearch/index/translog/TranslogWriter.java b/core/src/main/java/org/elasticsearch/index/translog/TranslogWriter.java index 9ebe6041581..9870bddf871 100644 --- a/core/src/main/java/org/elasticsearch/index/translog/TranslogWriter.java +++ b/core/src/main/java/org/elasticsearch/index/translog/TranslogWriter.java @@ -173,10 +173,8 @@ public class TranslogWriter extends TranslogReader { if (syncNeeded()) { try (ReleasableLock lock = writeLock.acquire()) { ensureOpen(); - final long offset = writtenOffset; - final int opsCount = operationCounter; - checkpoint(offset, opsCount, channelReference); - lastSyncedOffset = offset; + checkpoint(writtenOffset, operationCounter, channelReference); + lastSyncedOffset = writtenOffset; } } }