Class ConsistentSettingsService


  • public final class ConsistentSettingsService
    extends java.lang.Object
    Used to publish secure setting hashes in the cluster state and to validate those hashes against the local values of those same settings. This is colloquially referred to as the secure setting consistency check. It will publish and verify hashes only for the collection of settings passed in the constructor. The settings have to have the Setting.Property.Consistent property.
    • Method Summary

      Modifier and Type Method Description
      boolean areAllConsistent()
      Verifies that the hashes of consistent secure settings in the latest ClusterState verify for the values of those same settings on the local node.
      LocalNodeMasterListener newHashPublisher()
      Returns a LocalNodeMasterListener that will publish hashes of all the settings passed in the constructor.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ConsistentSettingsService

        public ConsistentSettingsService​(Settings settings,
                                         ClusterService clusterService,
                                         java.util.Collection<Setting<?>> secureSettingsCollection)
    • Method Detail

      • newHashPublisher

        public LocalNodeMasterListener newHashPublisher()
        Returns a LocalNodeMasterListener that will publish hashes of all the settings passed in the constructor. These hashes are published by the master node only. Note that this is not designed for SecureSettings implementations that are mutable.
      • areAllConsistent

        public boolean areAllConsistent()
        Verifies that the hashes of consistent secure settings in the latest ClusterState verify for the values of those same settings on the local node. The settings to be checked are passed in the constructor. Also, validates that a missing local value is also missing in the published set, and vice-versa.