From 88bb509d53d92d36277f843d8a1875acda2f8255 Mon Sep 17 00:00:00 2001 From: Tim Brooks Date: Sun, 30 Apr 2023 12:41:47 -0600 Subject: [PATCH] Changes --- .../support/replication/PostWriteRefresh.java | 12 +----------- .../org/elasticsearch/index/engine/Engine.java | 9 --------- .../index/engine/InternalEngine.java | 15 ++++++++------- 3 files changed, 9 insertions(+), 27 deletions(-) diff --git a/server/src/main/java/org/elasticsearch/action/support/replication/PostWriteRefresh.java b/server/src/main/java/org/elasticsearch/action/support/replication/PostWriteRefresh.java index f3b9e21569ed4..887c47ca78573 100644 --- a/server/src/main/java/org/elasticsearch/action/support/replication/PostWriteRefresh.java +++ b/server/src/main/java/org/elasticsearch/action/support/replication/PostWriteRefresh.java @@ -119,17 +119,7 @@ private void refreshUnpromotables( engineOrNull.addFlushListener(location, ActionListener.wrap(new ActionListener<>() { @Override public void onResponse(Long generation) { - engineOrNull.addFlushDurabilityListener(generation, ActionListener.wrap(new ActionListener<>() { - @Override - public void onResponse(Void unused) { - sendUnpromotableRequests(indexShard, generation, forced, listener, postWriteRefreshTimeout); - } - - @Override - public void onFailure(Exception e) { - listener.onFailure(e); - } - })); + sendUnpromotableRequests(indexShard, generation, forced, listener, postWriteRefreshTimeout); } @Override diff --git a/server/src/main/java/org/elasticsearch/index/engine/Engine.java b/server/src/main/java/org/elasticsearch/index/engine/Engine.java index 69171f63dcba8..b30aa5472a546 100644 --- a/server/src/main/java/org/elasticsearch/index/engine/Engine.java +++ b/server/src/main/java/org/elasticsearch/index/engine/Engine.java @@ -1985,15 +1985,6 @@ public void addFlushListener(Translog.Location location, ActionListener li listener.onFailure(new UnsupportedOperationException("Engine type " + this.getClass() + " does not support flush listeners.")); } - /** - * Adds a listener which will be executed once the request generation has been durably persisted. - */ - public void addFlushDurabilityListener(long generation, ActionListener listener) { - listener.onFailure( - new UnsupportedOperationException("Engine type " + this.getClass() + " does not support generation durability listeners.") - ); - } - /** * Captures the result of a refresh operation on the index shard. *

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 1d497ab7ca292..ea71d5ece866a 100644 --- a/server/src/main/java/org/elasticsearch/index/engine/InternalEngine.java +++ b/server/src/main/java/org/elasticsearch/index/engine/InternalEngine.java @@ -3159,15 +3159,16 @@ public void onFailure(Exception e) { } protected void waitForCommitDurability(long generation, ActionListener listener) { - listener.onResponse(null); - } - - @Override - public void addFlushDurabilityListener(long generation, ActionListener listener) { - ensureOpen(); + try { + ensureOpen(); + } catch (AlreadyClosedException e) { + listener.onFailure(e); + return; + } if (lastCommittedSegmentInfos.getGeneration() < generation) { listener.onFailure(new IllegalStateException("Cannot wait on generation which has not been committed")); + } else { + listener.onResponse(null); } - listener.onResponse(null); } }