From dc9fa3efa93f3e5288f2247a89ed1a9d0b8840f7 Mon Sep 17 00:00:00 2001 From: Armin Braun Date: Wed, 16 Jun 2021 17:36:47 +0200 Subject: [PATCH] Cleanup Duplicate Constants in Snapshot XContent Params (#74114) No need to have duplicate versions of these in `SnapshotInfo`. --- .../blobstore/ChecksumBlobStoreFormat.java | 22 ++++++------------- .../elasticsearch/snapshots/SnapshotInfo.java | 5 ++--- 2 files changed, 9 insertions(+), 18 deletions(-) diff --git a/server/src/main/java/org/elasticsearch/repositories/blobstore/ChecksumBlobStoreFormat.java b/server/src/main/java/org/elasticsearch/repositories/blobstore/ChecksumBlobStoreFormat.java index 9174313dce77a..b304b40ce1285 100644 --- a/server/src/main/java/org/elasticsearch/repositories/blobstore/ChecksumBlobStoreFormat.java +++ b/server/src/main/java/org/elasticsearch/repositories/blobstore/ChecksumBlobStoreFormat.java @@ -34,15 +34,13 @@ import org.elasticsearch.core.CheckedConsumer; import org.elasticsearch.core.CheckedFunction; import org.elasticsearch.gateway.CorruptStateException; -import org.elasticsearch.snapshots.SnapshotInfo; import java.io.FilterInputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; -import java.util.HashMap; +import java.util.Collections; import java.util.Locale; -import java.util.Map; import java.util.zip.CRC32; /** @@ -50,18 +48,12 @@ */ public final class ChecksumBlobStoreFormat { - // Serialization parameters to specify correct context for metadata serialization - public static final ToXContent.Params SNAPSHOT_ONLY_FORMAT_PARAMS; - - static { - Map snapshotOnlyParams = new HashMap<>(); - // when metadata is serialized certain elements of the metadata shouldn't be included into snapshot - // exclusion of these elements is done by setting Metadata.CONTEXT_MODE_PARAM to Metadata.CONTEXT_MODE_SNAPSHOT - snapshotOnlyParams.put(Metadata.CONTEXT_MODE_PARAM, Metadata.CONTEXT_MODE_SNAPSHOT); - // serialize SnapshotInfo using the SNAPSHOT mode - snapshotOnlyParams.put(SnapshotInfo.CONTEXT_MODE_PARAM, SnapshotInfo.CONTEXT_MODE_SNAPSHOT); - SNAPSHOT_ONLY_FORMAT_PARAMS = new ToXContent.MapParams(snapshotOnlyParams); - } + // Serialization parameters to specify correct context for metadata serialization. + // When metadata is serialized certain elements of the metadata shouldn't be included into snapshot + // exclusion of these elements is done by setting Metadata.CONTEXT_MODE_PARAM to Metadata.CONTEXT_MODE_SNAPSHOT + public static final ToXContent.Params SNAPSHOT_ONLY_FORMAT_PARAMS = new ToXContent.MapParams( + Collections.singletonMap(Metadata.CONTEXT_MODE_PARAM, Metadata.CONTEXT_MODE_SNAPSHOT) + ); // The format version public static final int VERSION = 1; diff --git a/server/src/main/java/org/elasticsearch/snapshots/SnapshotInfo.java b/server/src/main/java/org/elasticsearch/snapshots/SnapshotInfo.java index 83c7d3b90b61b..40de0dc0b24a8 100644 --- a/server/src/main/java/org/elasticsearch/snapshots/SnapshotInfo.java +++ b/server/src/main/java/org/elasticsearch/snapshots/SnapshotInfo.java @@ -11,6 +11,7 @@ import org.elasticsearch.action.ShardOperationFailedException; import org.elasticsearch.action.admin.cluster.snapshots.get.GetSnapshotsRequest; import org.elasticsearch.cluster.SnapshotsInProgress; +import org.elasticsearch.cluster.metadata.Metadata; import org.elasticsearch.common.io.stream.StreamInput; import org.elasticsearch.common.io.stream.StreamOutput; import org.elasticsearch.common.io.stream.Writeable; @@ -50,8 +51,6 @@ public final class SnapshotInfo implements Comparable, ToXContent, public static final Version METADATA_FIELD_INTRODUCED = Version.V_7_3_0; - public static final String CONTEXT_MODE_PARAM = "context_mode"; - public static final String CONTEXT_MODE_SNAPSHOT = "SNAPSHOT"; public static final String INDEX_DETAILS_XCONTENT_PARAM = "index_details"; private static final DateFormatter DATE_TIME_FORMATTER = DateFormatter.forPattern("strict_date_optional_time"); @@ -720,7 +719,7 @@ public RestStatus status() { @Override public XContentBuilder toXContent(final XContentBuilder builder, final Params params) throws IOException { // write snapshot info to repository snapshot blob format - if (CONTEXT_MODE_SNAPSHOT.equals(params.param(CONTEXT_MODE_PARAM))) { + if (Metadata.CONTEXT_MODE_SNAPSHOT.equals(params.param(Metadata.CONTEXT_MODE_PARAM))) { return toXContentInternal(builder, params); }