elastic / elasticsearch

Free and Open Source, Distributed, RESTful Search Engine
https://www.elastic.co/products/elasticsearch
Other
1.22k stars 24.85k forks source link

Remove the ability to disable BASIC licensed features #54745

Closed williamrandolph closed 4 years ago

williamrandolph commented 4 years ago

Many of our basic-license features are important building blocks of higher-level features. For example, Machine Learning can use Index Lifecycle Management to easily manage internal indices. However, if it's possible to disable these basic plugins, then the higher-level features need to account for the case when the basic plugins are disabled, and sometimes even re-implement what those plugins can do in the case that the lower-level plugins are disabled. Further, allowing these settings to be disabled on a per-node basis leads to the unfortunate situation of inconsistent settings on different nodes.

The basic plugins in question are enrich, eql, flattened, ilm, monitoring, rollup, slm, sql, transform, and vectors. Note that the security plugin is not included here; it's a complex case and won't be considered in this ticket.

Some of these plugins have a switch for enabling or disabling because we wanted to protect against bugs in early releases. However, as these features mature, they can become important dependencies of newer features, and we reach a "point of no return" where the ability to disable the feature is more of a risk than the potential for bugs in the feature.

The plan, then, is as follows (quoting @jasontedor):

In 8.0 all Basic-licensed features are enabled in the default distribution, there will not be any settings to disable them, and Stack and Solutions developers can rely on them being enabled. In 7.x we will deprecate the ability to set these settings, and in 8.0 we will remove these settings.

williamrandolph commented 4 years ago

I should note that removing the ability to disable slm may bring back some issues we have seen in testing: https://github.com/elastic/elasticsearch/issues/50302

williamrandolph commented 4 years ago

I need to make sure that these deprecation warnings appear in the upgrade assistant. That will take one more PR.

williamrandolph commented 4 years ago

I've fixed the upgrade assistant issue.