99import org .elasticsearch .action .admin .cluster .node .info .PluginsAndModules ;
1010import org .elasticsearch .cluster .ClusterState ;
1111import org .elasticsearch .cluster .metadata .IndexMetadata ;
12+ import org .elasticsearch .cluster .node .DiscoveryNode ;
1213import org .elasticsearch .common .settings .Settings ;
1314import org .elasticsearch .xpack .core .XPackSettings ;
1415import org .elasticsearch .xpack .core .deprecation .DeprecationInfoAction ;
2122import java .util .function .BiFunction ;
2223import java .util .function .Function ;
2324import java .util .stream .Collectors ;
25+ import java .util .stream .Stream ;
2426
2527/**
2628 * Class containing all the cluster, node, and index deprecation checks that will be served
@@ -40,40 +42,50 @@ private DeprecationChecks() {
4042 ));
4143
4244
43- static List <BiFunction <Settings , PluginsAndModules , DeprecationIssue >> NODE_SETTINGS_CHECKS =
44- Collections .unmodifiableList (Arrays .asList (
45- NodeDeprecationChecks ::javaVersionCheck ,
46- NodeDeprecationChecks ::checkPidfile ,
47- NodeDeprecationChecks ::checkProcessors ,
48- NodeDeprecationChecks ::checkMissingRealmOrders ,
49- NodeDeprecationChecks ::checkUniqueRealmOrders ,
50- NodeDeprecationChecks ::checkImplicitlyDisabledBasicRealms ,
51- (settings , pluginsAndModules ) -> NodeDeprecationChecks .checkThreadPoolListenerQueueSize (settings ),
52- (settings , pluginsAndModules ) -> NodeDeprecationChecks .checkThreadPoolListenerSize (settings ),
53- NodeDeprecationChecks ::checkClusterRemoteConnectSetting ,
54- NodeDeprecationChecks ::checkNodeLocalStorageSetting ,
55- NodeDeprecationChecks ::checkGeneralScriptSizeSetting ,
56- NodeDeprecationChecks ::checkGeneralScriptExpireSetting ,
57- NodeDeprecationChecks ::checkGeneralScriptCompileSettings ,
58- (settings , pluginsAndModules ) -> NodeDeprecationChecks .checkNodeBasicLicenseFeatureEnabledSetting (settings ,
59- XPackSettings .ENRICH_ENABLED_SETTING ),
60- (settings , pluginsAndModules ) -> NodeDeprecationChecks .checkNodeBasicLicenseFeatureEnabledSetting (settings ,
61- XPackSettings .FLATTENED_ENABLED ),
62- (settings , pluginsAndModules ) -> NodeDeprecationChecks .checkNodeBasicLicenseFeatureEnabledSetting (settings ,
63- XPackSettings .INDEX_LIFECYCLE_ENABLED ),
64- (settings , pluginsAndModules ) -> NodeDeprecationChecks .checkNodeBasicLicenseFeatureEnabledSetting (settings ,
65- XPackSettings .MONITORING_ENABLED ),
66- (settings , pluginsAndModules ) -> NodeDeprecationChecks .checkNodeBasicLicenseFeatureEnabledSetting (settings ,
67- XPackSettings .ROLLUP_ENABLED ),
68- (settings , pluginsAndModules ) -> NodeDeprecationChecks .checkNodeBasicLicenseFeatureEnabledSetting (settings ,
69- XPackSettings .SNAPSHOT_LIFECYCLE_ENABLED ),
70- (settings , pluginsAndModules ) -> NodeDeprecationChecks .checkNodeBasicLicenseFeatureEnabledSetting (settings ,
71- XPackSettings .SQL_ENABLED ),
72- (settings , pluginsAndModules ) -> NodeDeprecationChecks .checkNodeBasicLicenseFeatureEnabledSetting (settings ,
73- XPackSettings .TRANSFORM_ENABLED ),
74- (settings , pluginsAndModules ) -> NodeDeprecationChecks .checkNodeBasicLicenseFeatureEnabledSetting (settings ,
75- XPackSettings .VECTORS_ENABLED )
76- ));
45+ static final List <BiFunction <Settings , PluginsAndModules , DeprecationIssue >> NODE_SETTINGS_CHECKS ;
46+
47+ static {
48+ final Stream <BiFunction <Settings , PluginsAndModules , DeprecationIssue >> legacyRoleSettings = DiscoveryNode .getPossibleRoles ()
49+ .stream ()
50+ .filter (r -> r .legacySetting () != null )
51+ .map (r -> (s , p ) -> NodeDeprecationChecks .checkLegacyRoleSettings (r .legacySetting (), s , p ));
52+ NODE_SETTINGS_CHECKS = Stream .concat (
53+ legacyRoleSettings ,
54+ Stream .of (
55+ NodeDeprecationChecks ::javaVersionCheck ,
56+ NodeDeprecationChecks ::checkPidfile ,
57+ NodeDeprecationChecks ::checkProcessors ,
58+ NodeDeprecationChecks ::checkMissingRealmOrders ,
59+ NodeDeprecationChecks ::checkUniqueRealmOrders ,
60+ NodeDeprecationChecks ::checkImplicitlyDisabledBasicRealms ,
61+ (settings , pluginsAndModules ) -> NodeDeprecationChecks .checkThreadPoolListenerQueueSize (settings ),
62+ (settings , pluginsAndModules ) -> NodeDeprecationChecks .checkThreadPoolListenerSize (settings ),
63+ NodeDeprecationChecks ::checkClusterRemoteConnectSetting ,
64+ NodeDeprecationChecks ::checkNodeLocalStorageSetting ,
65+ NodeDeprecationChecks ::checkGeneralScriptSizeSetting ,
66+ NodeDeprecationChecks ::checkGeneralScriptExpireSetting ,
67+ NodeDeprecationChecks ::checkGeneralScriptCompileSettings ,
68+ (settings , pluginsAndModules ) -> NodeDeprecationChecks .checkNodeBasicLicenseFeatureEnabledSetting (settings ,
69+ XPackSettings .ENRICH_ENABLED_SETTING ),
70+ (settings , pluginsAndModules ) -> NodeDeprecationChecks .checkNodeBasicLicenseFeatureEnabledSetting (settings ,
71+ XPackSettings .FLATTENED_ENABLED ),
72+ (settings , pluginsAndModules ) -> NodeDeprecationChecks .checkNodeBasicLicenseFeatureEnabledSetting (settings ,
73+ XPackSettings .INDEX_LIFECYCLE_ENABLED ),
74+ (settings , pluginsAndModules ) -> NodeDeprecationChecks .checkNodeBasicLicenseFeatureEnabledSetting (settings ,
75+ XPackSettings .MONITORING_ENABLED ),
76+ (settings , pluginsAndModules ) -> NodeDeprecationChecks .checkNodeBasicLicenseFeatureEnabledSetting (settings ,
77+ XPackSettings .ROLLUP_ENABLED ),
78+ (settings , pluginsAndModules ) -> NodeDeprecationChecks .checkNodeBasicLicenseFeatureEnabledSetting (settings ,
79+ XPackSettings .SNAPSHOT_LIFECYCLE_ENABLED ),
80+ (settings , pluginsAndModules ) -> NodeDeprecationChecks .checkNodeBasicLicenseFeatureEnabledSetting (settings ,
81+ XPackSettings .SQL_ENABLED ),
82+ (settings , pluginsAndModules ) -> NodeDeprecationChecks .checkNodeBasicLicenseFeatureEnabledSetting (settings ,
83+ XPackSettings .TRANSFORM_ENABLED ),
84+ (settings , pluginsAndModules ) -> NodeDeprecationChecks .checkNodeBasicLicenseFeatureEnabledSetting (settings ,
85+ XPackSettings .VECTORS_ENABLED )
86+ )
87+ ).collect (Collectors .toList ());
88+ }
7789
7890 static List <Function <IndexMetadata , DeprecationIssue >> INDEX_SETTINGS_CHECKS =
7991 Collections .unmodifiableList (Arrays .asList (
0 commit comments