diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/ccr/CCRInfoTransportAction.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/ccr/CCRInfoTransportAction.java index 3a6e17a92885d..da6fd885f98a3 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/ccr/CCRInfoTransportAction.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/ccr/CCRInfoTransportAction.java @@ -80,7 +80,7 @@ public Usage(StreamInput in) throws IOException { } @Override - public Version version() { + public Version getMinimalSupportedVersion() { return Version.V_7_0_0; } diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/XPackFeatureSet.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/XPackFeatureSet.java index 428241f2da6a6..f6aee5f84d568 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/XPackFeatureSet.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/XPackFeatureSet.java @@ -6,9 +6,9 @@ package org.elasticsearch.xpack.core; import org.elasticsearch.Version; -import org.elasticsearch.common.io.stream.NamedWriteable; import org.elasticsearch.common.io.stream.StreamInput; import org.elasticsearch.common.io.stream.StreamOutput; +import org.elasticsearch.common.io.stream.VersionedNamedWriteable; import org.elasticsearch.common.xcontent.ToXContentObject; import org.elasticsearch.common.xcontent.XContentBuilder; @@ -22,7 +22,7 @@ public interface XPackFeatureSet { boolean enabled(); - abstract class Usage implements ToXContentObject, NamedWriteable { + abstract class Usage implements ToXContentObject, VersionedNamedWriteable { private static final String AVAILABLE_XFIELD = "available"; private static final String ENABLED_XFIELD = "enabled"; @@ -41,7 +41,7 @@ public Usage(String name, boolean available, boolean enabled) { this.enabled = enabled; } - public abstract Version version(); + public abstract Version getMinimalSupportedVersion(); public String name() { return name; diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/action/XPackUsageResponse.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/action/XPackUsageResponse.java index c2ebca2811e7a..3b7df1a02fb1b 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/action/XPackUsageResponse.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/action/XPackUsageResponse.java @@ -34,8 +34,10 @@ public List getUsages() { @Override public void writeTo(final StreamOutput out) throws IOException { // we can only write the usages with version the coordinating node is compatible with otherwise it will not know the named writeable - final List usagesToWrite = - usages.stream().filter(usage -> out.getVersion().onOrAfter(usage.version())).collect(Collectors.toUnmodifiableList()); + final List usagesToWrite = usages + .stream() + .filter(usage -> out.getVersion().onOrAfter(usage.getMinimalSupportedVersion())) + .collect(Collectors.toUnmodifiableList()); writeTo(out, usagesToWrite); } diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/analytics/AnalyticsFeatureSetUsage.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/analytics/AnalyticsFeatureSetUsage.java index edf01e26e3613..587276ecc52ea 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/analytics/AnalyticsFeatureSetUsage.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/analytics/AnalyticsFeatureSetUsage.java @@ -37,7 +37,7 @@ public AnalyticsFeatureSetUsage(StreamInput input) throws IOException { } @Override - public Version version() { + public Version getMinimalSupportedVersion() { return Version.V_7_4_0; } diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/eql/EqlFeatureSetUsage.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/eql/EqlFeatureSetUsage.java index bd3d44e37cdc4..a9c8b6dc71156 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/eql/EqlFeatureSetUsage.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/eql/EqlFeatureSetUsage.java @@ -51,7 +51,7 @@ public void writeTo(StreamOutput out) throws IOException { } @Override - public Version version() { + public Version getMinimalSupportedVersion() { return Version.V_7_7_0; } diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/frozen/FrozenIndicesFeatureSetUsage.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/frozen/FrozenIndicesFeatureSetUsage.java index d8dee1f7b008c..062425e02db52 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/frozen/FrozenIndicesFeatureSetUsage.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/frozen/FrozenIndicesFeatureSetUsage.java @@ -25,7 +25,7 @@ public FrozenIndicesFeatureSetUsage(StreamInput input) throws IOException { } @Override - public Version version() { + public Version getMinimalSupportedVersion() { return Version.V_7_0_0; } diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/graph/GraphFeatureSetUsage.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/graph/GraphFeatureSetUsage.java index 2ae230cd6e290..7feda8b5cd812 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/graph/GraphFeatureSetUsage.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/graph/GraphFeatureSetUsage.java @@ -23,7 +23,7 @@ public GraphFeatureSetUsage(boolean available, boolean enabled) { } @Override - public Version version() { + public Version getMinimalSupportedVersion() { return Version.V_7_0_0; } diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ilm/IndexLifecycleFeatureSetUsage.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ilm/IndexLifecycleFeatureSetUsage.java index e14eb7293ea90..87c24997efe81 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ilm/IndexLifecycleFeatureSetUsage.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ilm/IndexLifecycleFeatureSetUsage.java @@ -35,7 +35,7 @@ public IndexLifecycleFeatureSetUsage(StreamInput input) throws IOException { } @Override - public Version version() { + public Version getMinimalSupportedVersion() { return Version.V_7_0_0; } diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/logstash/LogstashFeatureSetUsage.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/logstash/LogstashFeatureSetUsage.java index d9e9bc25e4ad9..53eab3334e529 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/logstash/LogstashFeatureSetUsage.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/logstash/LogstashFeatureSetUsage.java @@ -23,7 +23,7 @@ public LogstashFeatureSetUsage(boolean available, boolean enabled) { } @Override - public Version version() { + public Version getMinimalSupportedVersion() { return Version.V_7_0_0; } diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ml/MachineLearningFeatureSetUsage.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ml/MachineLearningFeatureSetUsage.java index 68e7650b58c35..9d641dbd4cfd7 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ml/MachineLearningFeatureSetUsage.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ml/MachineLearningFeatureSetUsage.java @@ -70,7 +70,7 @@ public MachineLearningFeatureSetUsage(StreamInput in) throws IOException { } @Override - public Version version() { + public Version getMinimalSupportedVersion() { return Version.V_7_0_0; } diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/monitoring/MonitoringFeatureSetUsage.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/monitoring/MonitoringFeatureSetUsage.java index f63bdb39ed676..acb15d8e7301c 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/monitoring/MonitoringFeatureSetUsage.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/monitoring/MonitoringFeatureSetUsage.java @@ -38,7 +38,7 @@ public MonitoringFeatureSetUsage(boolean available, boolean enabled, } @Override - public Version version() { + public Version getMinimalSupportedVersion() { return Version.V_7_0_0; } diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/rollup/RollupFeatureSetUsage.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/rollup/RollupFeatureSetUsage.java index c0f78a25cf67c..3dfcc0d4e8c6d 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/rollup/RollupFeatureSetUsage.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/rollup/RollupFeatureSetUsage.java @@ -23,7 +23,7 @@ public RollupFeatureSetUsage(boolean available, boolean enabled) { } @Override - public Version version() { + public Version getMinimalSupportedVersion() { return Version.V_7_0_0; } diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/SecurityFeatureSetUsage.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/SecurityFeatureSetUsage.java index 1d6725fafa82b..2f8f22fe030f6 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/SecurityFeatureSetUsage.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/SecurityFeatureSetUsage.java @@ -78,7 +78,7 @@ public SecurityFeatureSetUsage(boolean available, boolean enabled, Map