diff --git a/docs/reference/migration/index.asciidoc b/docs/reference/migration/index.asciidoc index bb834ab3bbe..1895e563bc0 100644 --- a/docs/reference/migration/index.asciidoc +++ b/docs/reference/migration/index.asciidoc @@ -11,6 +11,7 @@ For information about how to upgrade your cluster, see <>. -- +include::migrate_7_8.asciidoc[] include::migrate_7_7.asciidoc[] include::migrate_7_6.asciidoc[] include::migrate_7_5.asciidoc[] diff --git a/docs/reference/migration/migrate_7_8.asciidoc b/docs/reference/migration/migrate_7_8.asciidoc new file mode 100644 index 00000000000..bbaf21ebfcc --- /dev/null +++ b/docs/reference/migration/migrate_7_8.asciidoc @@ -0,0 +1,30 @@ +[[breaking-changes-7.8]] +== Breaking changes in 7.8 +++++ +7.8 +++++ + +This section discusses the changes that you need to be aware of when migrating +your application to Elasticsearch 7.8. + +See also <> and <>. + +coming[7.8.0] + +//NOTE: The notable-breaking-changes tagged regions are re-used in the +//Installation and Upgrade Guide + +//tag::notable-breaking-changes[] + +//end::notable-breaking-changes[] + +[discrete] +[[breaking_78_settings_changes]] +=== Settings changes + +[discrete] +[[deprecate-node-local-storage]] +==== `node.local_storage` is deprecated + +In Elasticsearch 7.8.0, the setting `node.local_storage` was deprecated and +beginning in Elasticsearch 8.0.0 all nodes will require local storage. diff --git a/server/src/main/java/org/elasticsearch/node/Node.java b/server/src/main/java/org/elasticsearch/node/Node.java index e61a00b05db..75ec2ce1b2b 100644 --- a/server/src/main/java/org/elasticsearch/node/Node.java +++ b/server/src/main/java/org/elasticsearch/node/Node.java @@ -214,7 +214,8 @@ public class Node implements Closeable { * and {@link #NODE_MASTER_SETTING} must also be false. * */ - public static final Setting NODE_LOCAL_STORAGE_SETTING = Setting.boolSetting("node.local_storage", true, Property.NodeScope); + public static final Setting NODE_LOCAL_STORAGE_SETTING = + Setting.boolSetting("node.local_storage", true, Property.Deprecated, Property.NodeScope); public static final Setting NODE_NAME_SETTING = Setting.simpleString("node.name", Property.NodeScope); public static final Setting.AffixSetting NODE_ATTRIBUTES = Setting.prefixKeySetting("node.attr.", (key) -> new Setting<>(key, "", (value) -> { diff --git a/server/src/test/java/org/elasticsearch/env/NodeEnvironmentTests.java b/server/src/test/java/org/elasticsearch/env/NodeEnvironmentTests.java index b0cd6cb8d2c..af4de125e43 100644 --- a/server/src/test/java/org/elasticsearch/env/NodeEnvironmentTests.java +++ b/server/src/test/java/org/elasticsearch/env/NodeEnvironmentTests.java @@ -22,6 +22,7 @@ import org.apache.lucene.index.SegmentInfos; import org.apache.lucene.util.LuceneTestCase; import org.elasticsearch.common.SuppressForbidden; import org.elasticsearch.common.io.PathUtils; +import org.elasticsearch.common.settings.Setting; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.util.concurrent.AbstractRunnable; import org.elasticsearch.common.util.set.Sets; @@ -438,6 +439,7 @@ public class NodeEnvironmentTests extends ESTestCase { env = newNodeEnvironment(Settings.EMPTY); assertThat(env.nodeId(), not(equalTo(nodeID))); env.close(); + assertSettingDeprecationsAndWarnings(new Setting[]{Node.NODE_LOCAL_STORAGE_SETTING}); } public void testExistingTempFiles() throws IOException {