From bc99b8726095eca59badb87f7e57506114707547 Mon Sep 17 00:00:00 2001 From: Iraklis Psaroudakis Date: Wed, 19 Feb 2025 13:20:25 +0200 Subject: [PATCH] Pass checkpoint to commit extra user data function Relates ES-10852 --- .../java/org/elasticsearch/index/engine/InternalEngine.java | 6 ++++-- .../org/elasticsearch/index/engine/InternalEngineTests.java | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/server/src/main/java/org/elasticsearch/index/engine/InternalEngine.java b/server/src/main/java/org/elasticsearch/index/engine/InternalEngine.java index f463dce2ec70e..94e8989bc5a1c 100644 --- a/server/src/main/java/org/elasticsearch/index/engine/InternalEngine.java +++ b/server/src/main/java/org/elasticsearch/index/engine/InternalEngine.java @@ -2925,7 +2925,7 @@ protected void commitIndexWriter(final IndexWriter writer, final Translog transl * {@link IndexWriter#commit()} call flushes all documents, we defer computation of the maximum sequence number to the time * of invocation of the commit data iterator (which occurs after all documents have been flushed to Lucene). */ - final Map extraCommitUserData = getCommitExtraUserData(); + final Map extraCommitUserData = getCommitExtraUserData(localCheckpoint); final Map commitData = Maps.newMapWithExpectedSize(8 + extraCommitUserData.size()); commitData.putAll(extraCommitUserData); commitData.put(Translog.TRANSLOG_UUID_KEY, translog.getTranslogUUID()); @@ -2973,8 +2973,10 @@ protected void commitIndexWriter(final IndexWriter writer, final Translog transl /** * Allows InternalEngine extenders to return custom key-value pairs which will be included in the Lucene commit user-data. Custom user * data keys can be overwritten by if their keys conflict keys used by InternalEngine. + * + * @param localCheckpoint the local checkpoint of the commit */ - protected Map getCommitExtraUserData() { + protected Map getCommitExtraUserData(final long localCheckpoint) { return Collections.emptyMap(); } diff --git a/server/src/test/java/org/elasticsearch/index/engine/InternalEngineTests.java b/server/src/test/java/org/elasticsearch/index/engine/InternalEngineTests.java index 26de6a7897786..e154a3d62b4e2 100644 --- a/server/src/test/java/org/elasticsearch/index/engine/InternalEngineTests.java +++ b/server/src/test/java/org/elasticsearch/index/engine/InternalEngineTests.java @@ -7327,7 +7327,7 @@ public void testExtraUserDataIsCommitted() throws IOException { engine.close(); engine = new InternalEngine(engine.config()) { @Override - protected Map getCommitExtraUserData() { + protected Map getCommitExtraUserData(final long localCheckpoint) { return Map.of("userkey", "userdata", ES_VERSION, IndexVersions.ZERO.toString()); } };