From b23962c2328436dcc4cab1c8070b378fe8de5682 Mon Sep 17 00:00:00 2001 From: Armin Braun Date: Mon, 16 Sep 2024 17:22:04 +0200 Subject: [PATCH] Use InfoStream.NO_OUTPUT in PersistedClusterStateService We can save some allocations and speedup tests some more by using `InfoStream.NO_OUTPUT` instead of the default `NullInfoStream` that does not log but causes signals enabled to its users and thus causes large strings to needlessly be setup. --- .../org/elasticsearch/gateway/PersistedClusterStateService.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/server/src/main/java/org/elasticsearch/gateway/PersistedClusterStateService.java b/server/src/main/java/org/elasticsearch/gateway/PersistedClusterStateService.java index 49531ad9e2ec7..749946e05b745 100644 --- a/server/src/main/java/org/elasticsearch/gateway/PersistedClusterStateService.java +++ b/server/src/main/java/org/elasticsearch/gateway/PersistedClusterStateService.java @@ -39,6 +39,7 @@ import org.apache.lucene.store.NIOFSDirectory; import org.apache.lucene.util.Bits; import org.apache.lucene.util.BytesRef; +import org.apache.lucene.util.InfoStream; import org.apache.lucene.util.SetOnce; import org.elasticsearch.Version; import org.elasticsearch.cluster.ClusterState; @@ -261,6 +262,7 @@ CheckedBiConsumer getAssertOnCommit() { private static IndexWriter createIndexWriter(Directory directory, boolean openExisting) throws IOException { final IndexWriterConfig indexWriterConfig = new IndexWriterConfig(new KeywordAnalyzer()); + indexWriterConfig.setInfoStream(InfoStream.NO_OUTPUT); // start empty since we re-write the whole cluster state to ensure it is all using the same format version indexWriterConfig.setOpenMode(openExisting ? IndexWriterConfig.OpenMode.APPEND : IndexWriterConfig.OpenMode.CREATE); // only commit when specifically instructed, we must not write any intermediate states