/** * Partitions the settings into those that are known and valid versus those that are unknown or invalid. The resulting tuple contains * the known and valid settings in the first component and the unknown or invalid settings in the second component. Note that archived * settings contained in the settings to partition are included in the first component. * * @param settings the settings to partition * @param settingsType a string to identify the settings (for logging) * @param logger a logger to sending warnings to * @return the partitioned settings */ private Tuple<Settings, Settings> partitionKnownAndValidSettings( final Settings settings, final String settingsType, final Logger logger) { final Settings existingArchivedSettings = settings.filter(k -> k.startsWith(ARCHIVED_SETTINGS_PREFIX)); final Settings settingsExcludingExistingArchivedSettings = settings.filter(k -> k.startsWith(ARCHIVED_SETTINGS_PREFIX) == false); final Settings settingsWithUnknownOrInvalidArchived = clusterSettings.archiveUnknownOrInvalidSettings( settingsExcludingExistingArchivedSettings, e -> logUnknownSetting(settingsType, e, logger), (e, ex) -> logInvalidSetting(settingsType, e, ex, logger)); return Tuple.tuple( Settings.builder() .put(settingsWithUnknownOrInvalidArchived.filter(k -> k.startsWith(ARCHIVED_SETTINGS_PREFIX) == false)) .put(existingArchivedSettings) .build(), settingsWithUnknownOrInvalidArchived.filter(k -> k.startsWith(ARCHIVED_SETTINGS_PREFIX))); }
/** * Partitions the settings into those that are known and valid versus those that are unknown or invalid. The resulting tuple contains * the known and valid settings in the first component and the unknown or invalid settings in the second component. Note that archived * settings contained in the settings to partition are included in the first component. * * @param settings the settings to partition * @param settingsType a string to identify the settings (for logging) * @param logger a logger to sending warnings to * @return the partitioned settings */ private Tuple<Settings, Settings> partitionKnownAndValidSettings( final Settings settings, final String settingsType, final Logger logger) { final Settings existingArchivedSettings = settings.filter(k -> k.startsWith(ARCHIVED_SETTINGS_PREFIX)); final Settings settingsExcludingExistingArchivedSettings = settings.filter(k -> k.startsWith(ARCHIVED_SETTINGS_PREFIX) == false); final Settings settingsWithUnknownOrInvalidArchived = clusterSettings.archiveUnknownOrInvalidSettings( settingsExcludingExistingArchivedSettings, e -> logUnknownSetting(settingsType, e, logger), (e, ex) -> logInvalidSetting(settingsType, e, ex, logger)); return Tuple.tuple( Settings.builder() .put(settingsWithUnknownOrInvalidArchived.filter(k -> k.startsWith(ARCHIVED_SETTINGS_PREFIX) == false)) .put(existingArchivedSettings) .build(), settingsWithUnknownOrInvalidArchived.filter(k -> k.startsWith(ARCHIVED_SETTINGS_PREFIX))); }
/** * Partitions the settings into those that are known and valid versus those that are unknown or invalid. The resulting tuple contains * the known and valid settings in the first component and the unknown or invalid settings in the second component. Note that archived * settings contained in the settings to partition are included in the first component. * * @param settings the settings to partition * @param settingsType a string to identify the settings (for logging) * @param logger a logger to sending warnings to * @return the partitioned settings */ private Tuple<Settings, Settings> partitionKnownAndValidSettings( final Settings settings, final String settingsType, final Logger logger) { final Settings existingArchivedSettings = settings.filter(k -> k.startsWith(ARCHIVED_SETTINGS_PREFIX)); final Settings settingsExcludingExistingArchivedSettings = settings.filter(k -> k.startsWith(ARCHIVED_SETTINGS_PREFIX) == false); final Settings settingsWithUnknownOrInvalidArchived = clusterSettings.archiveUnknownOrInvalidSettings( settingsExcludingExistingArchivedSettings, e -> logUnknownSetting(settingsType, e, logger), (e, ex) -> logInvalidSetting(settingsType, e, ex, logger)); return Tuple.tuple( Settings.builder() .put(settingsWithUnknownOrInvalidArchived.filter(k -> k.startsWith(ARCHIVED_SETTINGS_PREFIX) == false)) .put(existingArchivedSettings) .build(), settingsWithUnknownOrInvalidArchived.filter(k -> k.startsWith(ARCHIVED_SETTINGS_PREFIX))); }