zoukankan      html  css  js  c++  java
  • elasticSearch6源码分析(10)SettingsModule

    1.SettingsModule概述

    /**
     * A module that binds the provided settings to the {@link Settings} interface.
     */

    2.Setting

    2.1 IndexScopedSettings

    /**
     * Encapsulates all valid index level settings.
     * @see Property#IndexScope
     */

    内置的设置

    public static final Set<Setting<?>> BUILT_IN_INDEX_SETTINGS = Collections.unmodifiableSet(new HashSet<>(Arrays.asList(
            MaxRetryAllocationDecider.SETTING_ALLOCATION_MAX_RETRY,
            MergeSchedulerConfig.AUTO_THROTTLE_SETTING,
            MergeSchedulerConfig.MAX_MERGE_COUNT_SETTING,
            MergeSchedulerConfig.MAX_THREAD_COUNT_SETTING,
            IndexMetaData.SETTING_INDEX_VERSION_CREATED,
            IndexMetaData.INDEX_ROUTING_EXCLUDE_GROUP_SETTING,
            IndexMetaData.INDEX_ROUTING_INCLUDE_GROUP_SETTING,
            IndexMetaData.INDEX_ROUTING_REQUIRE_GROUP_SETTING,
            IndexMetaData.INDEX_AUTO_EXPAND_REPLICAS_SETTING,
            IndexMetaData.INDEX_NUMBER_OF_REPLICAS_SETTING,
            IndexMetaData.INDEX_NUMBER_OF_SHARDS_SETTING,
            IndexMetaData.INDEX_ROUTING_PARTITION_SIZE_SETTING,
            IndexMetaData.INDEX_NUMBER_OF_ROUTING_SHARDS_SETTING,
            IndexMetaData.INDEX_READ_ONLY_SETTING,
            IndexMetaData.INDEX_BLOCKS_READ_SETTING,
            IndexMetaData.INDEX_BLOCKS_WRITE_SETTING,
            IndexMetaData.INDEX_BLOCKS_METADATA_SETTING,
            IndexMetaData.INDEX_BLOCKS_READ_ONLY_ALLOW_DELETE_SETTING,
            IndexMetaData.INDEX_PRIORITY_SETTING,
            IndexMetaData.INDEX_DATA_PATH_SETTING,
            IndexMetaData.INDEX_FORMAT_SETTING,
            SearchSlowLog.INDEX_SEARCH_SLOWLOG_THRESHOLD_FETCH_DEBUG_SETTING,
            SearchSlowLog.INDEX_SEARCH_SLOWLOG_THRESHOLD_FETCH_WARN_SETTING,
            SearchSlowLog.INDEX_SEARCH_SLOWLOG_THRESHOLD_FETCH_INFO_SETTING,
            SearchSlowLog.INDEX_SEARCH_SLOWLOG_THRESHOLD_FETCH_TRACE_SETTING,
            SearchSlowLog.INDEX_SEARCH_SLOWLOG_THRESHOLD_QUERY_WARN_SETTING,
            SearchSlowLog.INDEX_SEARCH_SLOWLOG_THRESHOLD_QUERY_DEBUG_SETTING,
            SearchSlowLog.INDEX_SEARCH_SLOWLOG_THRESHOLD_QUERY_INFO_SETTING,
            SearchSlowLog.INDEX_SEARCH_SLOWLOG_THRESHOLD_QUERY_TRACE_SETTING,
            SearchSlowLog.INDEX_SEARCH_SLOWLOG_LEVEL,
            IndexingSlowLog.INDEX_INDEXING_SLOWLOG_THRESHOLD_INDEX_WARN_SETTING,
            IndexingSlowLog.INDEX_INDEXING_SLOWLOG_THRESHOLD_INDEX_DEBUG_SETTING,
            IndexingSlowLog.INDEX_INDEXING_SLOWLOG_THRESHOLD_INDEX_INFO_SETTING,
            IndexingSlowLog.INDEX_INDEXING_SLOWLOG_THRESHOLD_INDEX_TRACE_SETTING,
            IndexingSlowLog.INDEX_INDEXING_SLOWLOG_LEVEL_SETTING,
            IndexingSlowLog.INDEX_INDEXING_SLOWLOG_REFORMAT_SETTING,
            IndexingSlowLog.INDEX_INDEXING_SLOWLOG_MAX_SOURCE_CHARS_TO_LOG_SETTING,
            MergePolicyConfig.INDEX_COMPOUND_FORMAT_SETTING,
            MergePolicyConfig.INDEX_MERGE_POLICY_DELETES_PCT_ALLOWED_SETTING,
            MergePolicyConfig.INDEX_MERGE_POLICY_EXPUNGE_DELETES_ALLOWED_SETTING,
            MergePolicyConfig.INDEX_MERGE_POLICY_FLOOR_SEGMENT_SETTING,
            MergePolicyConfig.INDEX_MERGE_POLICY_MAX_MERGE_AT_ONCE_SETTING,
            MergePolicyConfig.INDEX_MERGE_POLICY_MAX_MERGE_AT_ONCE_EXPLICIT_SETTING,
            MergePolicyConfig.INDEX_MERGE_POLICY_MAX_MERGED_SEGMENT_SETTING,
            MergePolicyConfig.INDEX_MERGE_POLICY_SEGMENTS_PER_TIER_SETTING,
            MergePolicyConfig.INDEX_MERGE_POLICY_RECLAIM_DELETES_WEIGHT_SETTING,
            IndexSortConfig.INDEX_SORT_FIELD_SETTING,
            IndexSortConfig.INDEX_SORT_ORDER_SETTING,
            IndexSortConfig.INDEX_SORT_MISSING_SETTING,
            IndexSortConfig.INDEX_SORT_MODE_SETTING,
            IndexSettings.INDEX_TRANSLOG_DURABILITY_SETTING,
            IndexSettings.INDEX_WARMER_ENABLED_SETTING,
            IndexSettings.INDEX_REFRESH_INTERVAL_SETTING,
            IndexSettings.MAX_RESULT_WINDOW_SETTING,
            IndexSettings.MAX_INNER_RESULT_WINDOW_SETTING,
            IndexSettings.MAX_TOKEN_COUNT_SETTING,
            IndexSettings.MAX_DOCVALUE_FIELDS_SEARCH_SETTING,
            IndexSettings.MAX_SCRIPT_FIELDS_SETTING,
            IndexSettings.MAX_NGRAM_DIFF_SETTING,
            IndexSettings.MAX_SHINGLE_DIFF_SETTING,
            IndexSettings.MAX_RESCORE_WINDOW_SETTING,
            IndexSettings.MAX_ADJACENCY_MATRIX_FILTERS_SETTING,
            IndexSettings.MAX_ANALYZED_OFFSET_SETTING,
            IndexSettings.MAX_TERMS_COUNT_SETTING,
            IndexSettings.INDEX_TRANSLOG_SYNC_INTERVAL_SETTING,
            IndexSettings.DEFAULT_FIELD_SETTING,
            IndexSettings.QUERY_STRING_LENIENT_SETTING,
            IndexSettings.ALLOW_UNMAPPED,
            IndexSettings.INDEX_CHECK_ON_STARTUP,
            IndexSettings.MAX_REFRESH_LISTENERS_PER_SHARD,
            IndexSettings.MAX_SLICES_PER_SCROLL,
            IndexSettings.MAX_REGEX_LENGTH_SETTING,
            ShardsLimitAllocationDecider.INDEX_TOTAL_SHARDS_PER_NODE_SETTING,
            IndexSettings.INDEX_GC_DELETES_SETTING,
            IndexSettings.INDEX_SOFT_DELETES_SETTING,
            IndexSettings.INDEX_SOFT_DELETES_RETENTION_OPERATIONS_SETTING,
            IndicesRequestCache.INDEX_CACHE_REQUEST_ENABLED_SETTING,
            UnassignedInfo.INDEX_DELAYED_NODE_LEFT_TIMEOUT_SETTING,
            EnableAllocationDecider.INDEX_ROUTING_REBALANCE_ENABLE_SETTING,
            EnableAllocationDecider.INDEX_ROUTING_ALLOCATION_ENABLE_SETTING,
            IndexSettings.INDEX_TRANSLOG_FLUSH_THRESHOLD_SIZE_SETTING,
            IndexSettings.INDEX_TRANSLOG_GENERATION_THRESHOLD_SIZE_SETTING,
            IndexSettings.INDEX_TRANSLOG_RETENTION_AGE_SETTING,
            IndexSettings.INDEX_TRANSLOG_RETENTION_SIZE_SETTING,
            IndexSettings.INDEX_SEARCH_IDLE_AFTER,
            IndexSettings.INDEX_SEARCH_THROTTLED,
            IndexFieldDataService.INDEX_FIELDDATA_CACHE_KEY,
            FieldMapper.IGNORE_MALFORMED_SETTING,
            FieldMapper.COERCE_SETTING,
            Store.INDEX_STORE_STATS_REFRESH_INTERVAL_SETTING,
            MapperService.INDEX_MAPPER_DYNAMIC_SETTING,
            MapperService.INDEX_MAPPING_NESTED_FIELDS_LIMIT_SETTING,
            MapperService.INDEX_MAPPING_NESTED_DOCS_LIMIT_SETTING,
            MapperService.INDEX_MAPPING_TOTAL_FIELDS_LIMIT_SETTING,
            MapperService.INDEX_MAPPING_DEPTH_LIMIT_SETTING,
            BitsetFilterCache.INDEX_LOAD_RANDOM_ACCESS_FILTERS_EAGERLY_SETTING,
            IndexModule.INDEX_STORE_TYPE_SETTING,
            IndexModule.INDEX_STORE_PRE_LOAD_SETTING,
            IndexModule.INDEX_QUERY_CACHE_ENABLED_SETTING,
            FsDirectoryService.INDEX_LOCK_FACTOR_SETTING,
            EngineConfig.INDEX_CODEC_SETTING,
            EngineConfig.INDEX_OPTIMIZE_AUTO_GENERATED_IDS,
            IndexMetaData.SETTING_WAIT_FOR_ACTIVE_SHARDS,
            IndexSettings.DEFAULT_PIPELINE,
    
            // validate that built-in similarities don't get redefined
            Setting.groupSetting("index.similarity.", (s) -> {
                Map<String, Settings> groups = s.getAsGroups();
                for (String key : SimilarityService.BUILT_IN.keySet()) {
                    if (groups.containsKey(key)) {
                        throw new IllegalArgumentException("illegal value for [index.similarity." + key +
                                "] cannot redefine built-in similarity");
                    }
                }
            }, Property.IndexScope), // this allows similarity settings to be passed
            Setting.groupSetting("index.analysis.", Property.IndexScope) // this allows analysis settings to be passed
    
        )));

    包含的setting结构图如下:

    2.2 ClusterSettings

    /**
     * Encapsulates all valid cluster level settings.
     */

    内置的设置

    public static Set<Setting<?>> BUILT_IN_CLUSTER_SETTINGS = Collections.unmodifiableSet(new HashSet<>(
                Arrays.asList(AwarenessAllocationDecider.CLUSTER_ROUTING_ALLOCATION_AWARENESS_ATTRIBUTE_SETTING,
                        TransportClient.CLIENT_TRANSPORT_NODES_SAMPLER_INTERVAL, // TODO these transport client settings are kind
                        // of odd here and should only be valid if we are a transport client
                        TransportClient.CLIENT_TRANSPORT_PING_TIMEOUT,
                        TransportClient.CLIENT_TRANSPORT_IGNORE_CLUSTER_NAME,
                        TransportClient.CLIENT_TRANSPORT_SNIFF,
                        AwarenessAllocationDecider.CLUSTER_ROUTING_ALLOCATION_AWARENESS_FORCE_GROUP_SETTING,
                        BalancedShardsAllocator.INDEX_BALANCE_FACTOR_SETTING,
                        BalancedShardsAllocator.SHARD_BALANCE_FACTOR_SETTING,
                        BalancedShardsAllocator.THRESHOLD_SETTING,
                        ClusterRebalanceAllocationDecider.CLUSTER_ROUTING_ALLOCATION_ALLOW_REBALANCE_SETTING,
                        ConcurrentRebalanceAllocationDecider.CLUSTER_ROUTING_ALLOCATION_CLUSTER_CONCURRENT_REBALANCE_SETTING,
                        EnableAllocationDecider.CLUSTER_ROUTING_ALLOCATION_ENABLE_SETTING,
                        EnableAllocationDecider.CLUSTER_ROUTING_REBALANCE_ENABLE_SETTING,
                        FilterAllocationDecider.CLUSTER_ROUTING_INCLUDE_GROUP_SETTING,
                        FilterAllocationDecider.CLUSTER_ROUTING_EXCLUDE_GROUP_SETTING,
                        FilterAllocationDecider.CLUSTER_ROUTING_REQUIRE_GROUP_SETTING,
                        FsRepository.REPOSITORIES_CHUNK_SIZE_SETTING,
                        FsRepository.REPOSITORIES_COMPRESS_SETTING,
                        FsRepository.REPOSITORIES_LOCATION_SETTING,
                        IndicesQueryCache.INDICES_CACHE_QUERY_SIZE_SETTING,
                        IndicesQueryCache.INDICES_CACHE_QUERY_COUNT_SETTING,
                        IndicesQueryCache.INDICES_QUERIES_CACHE_ALL_SEGMENTS_SETTING,
                        MappingUpdatedAction.INDICES_MAPPING_DYNAMIC_TIMEOUT_SETTING,
                        MetaData.SETTING_READ_ONLY_SETTING,
                        MetaData.SETTING_READ_ONLY_ALLOW_DELETE_SETTING,
                        MetaData.SETTING_CLUSTER_MAX_SHARDS_PER_NODE,
                        RecoverySettings.INDICES_RECOVERY_MAX_BYTES_PER_SEC_SETTING,
                        RecoverySettings.INDICES_RECOVERY_RETRY_DELAY_STATE_SYNC_SETTING,
                        RecoverySettings.INDICES_RECOVERY_RETRY_DELAY_NETWORK_SETTING,
                        RecoverySettings.INDICES_RECOVERY_ACTIVITY_TIMEOUT_SETTING,
                        RecoverySettings.INDICES_RECOVERY_INTERNAL_ACTION_TIMEOUT_SETTING,
                        RecoverySettings.INDICES_RECOVERY_INTERNAL_LONG_ACTION_TIMEOUT_SETTING,
                        ThrottlingAllocationDecider.CLUSTER_ROUTING_ALLOCATION_NODE_INITIAL_PRIMARIES_RECOVERIES_SETTING,
                        ThrottlingAllocationDecider.CLUSTER_ROUTING_ALLOCATION_NODE_CONCURRENT_INCOMING_RECOVERIES_SETTING,
                        ThrottlingAllocationDecider.CLUSTER_ROUTING_ALLOCATION_NODE_CONCURRENT_OUTGOING_RECOVERIES_SETTING,
                        ThrottlingAllocationDecider.CLUSTER_ROUTING_ALLOCATION_NODE_CONCURRENT_RECOVERIES_SETTING,
                        DiskThresholdSettings.CLUSTER_ROUTING_ALLOCATION_LOW_DISK_WATERMARK_SETTING,
                        DiskThresholdSettings.CLUSTER_ROUTING_ALLOCATION_HIGH_DISK_WATERMARK_SETTING,
                        DiskThresholdSettings.CLUSTER_ROUTING_ALLOCATION_DISK_FLOOD_STAGE_WATERMARK_SETTING,
                        DiskThresholdSettings.CLUSTER_ROUTING_ALLOCATION_DISK_THRESHOLD_ENABLED_SETTING,
                        DiskThresholdSettings.CLUSTER_ROUTING_ALLOCATION_INCLUDE_RELOCATIONS_SETTING,
                        DiskThresholdSettings.CLUSTER_ROUTING_ALLOCATION_REROUTE_INTERVAL_SETTING,
                        SameShardAllocationDecider.CLUSTER_ROUTING_ALLOCATION_SAME_HOST_SETTING,
                        InternalClusterInfoService.INTERNAL_CLUSTER_INFO_UPDATE_INTERVAL_SETTING,
                        InternalClusterInfoService.INTERNAL_CLUSTER_INFO_TIMEOUT_SETTING,
                        DestructiveOperations.REQUIRES_NAME_SETTING,
                        DiscoverySettings.PUBLISH_TIMEOUT_SETTING,
                        DiscoverySettings.PUBLISH_DIFF_ENABLE_SETTING,
                        DiscoverySettings.COMMIT_TIMEOUT_SETTING,
                        DiscoverySettings.NO_MASTER_BLOCK_SETTING,
                        GatewayService.EXPECTED_DATA_NODES_SETTING,
                        GatewayService.EXPECTED_MASTER_NODES_SETTING,
                        GatewayService.EXPECTED_NODES_SETTING,
                        GatewayService.RECOVER_AFTER_DATA_NODES_SETTING,
                        GatewayService.RECOVER_AFTER_MASTER_NODES_SETTING,
                        GatewayService.RECOVER_AFTER_NODES_SETTING,
                        GatewayService.RECOVER_AFTER_TIME_SETTING,
                        NetworkModule.HTTP_DEFAULT_TYPE_SETTING,
                        NetworkModule.TRANSPORT_DEFAULT_TYPE_SETTING,
                        NetworkModule.HTTP_TYPE_SETTING,
                        NetworkModule.TRANSPORT_TYPE_SETTING,
                        HttpTransportSettings.SETTING_CORS_ALLOW_CREDENTIALS,
                        HttpTransportSettings.SETTING_CORS_ENABLED,
                        HttpTransportSettings.SETTING_CORS_MAX_AGE,
                        HttpTransportSettings.SETTING_HTTP_DETAILED_ERRORS_ENABLED,
                        HttpTransportSettings.SETTING_CORS_ALLOW_ORIGIN,
                        HttpTransportSettings.SETTING_HTTP_HOST,
                        HttpTransportSettings.SETTING_HTTP_PUBLISH_HOST,
                        HttpTransportSettings.SETTING_HTTP_BIND_HOST,
                        HttpTransportSettings.SETTING_HTTP_PORT,
                        HttpTransportSettings.SETTING_HTTP_PUBLISH_PORT,
                        HttpTransportSettings.SETTING_PIPELINING_MAX_EVENTS,
                        HttpTransportSettings.SETTING_HTTP_COMPRESSION,
                        HttpTransportSettings.SETTING_HTTP_COMPRESSION_LEVEL,
                        HttpTransportSettings.SETTING_CORS_ALLOW_METHODS,
                        HttpTransportSettings.SETTING_CORS_ALLOW_HEADERS,
                        HttpTransportSettings.SETTING_HTTP_DETAILED_ERRORS_ENABLED,
                        HttpTransportSettings.SETTING_HTTP_CONTENT_TYPE_REQUIRED,
                        HttpTransportSettings.SETTING_HTTP_MAX_CONTENT_LENGTH,
                        HttpTransportSettings.SETTING_HTTP_MAX_CHUNK_SIZE,
                        HttpTransportSettings.SETTING_HTTP_MAX_HEADER_SIZE,
                        HttpTransportSettings.SETTING_HTTP_MAX_WARNING_HEADER_COUNT,
                        HttpTransportSettings.SETTING_HTTP_MAX_WARNING_HEADER_SIZE,
                        HttpTransportSettings.SETTING_HTTP_MAX_INITIAL_LINE_LENGTH,
                        HttpTransportSettings.SETTING_HTTP_READ_TIMEOUT,
                        HttpTransportSettings.SETTING_HTTP_RESET_COOKIES,
                        HttpTransportSettings.SETTING_HTTP_TCP_NO_DELAY,
                        HttpTransportSettings.SETTING_HTTP_TCP_KEEP_ALIVE,
                        HttpTransportSettings.SETTING_HTTP_TCP_REUSE_ADDRESS,
                        HttpTransportSettings.SETTING_HTTP_TCP_SEND_BUFFER_SIZE,
                        HttpTransportSettings.SETTING_HTTP_TCP_RECEIVE_BUFFER_SIZE,
                        HierarchyCircuitBreakerService.USE_REAL_MEMORY_USAGE_SETTING,
                        HierarchyCircuitBreakerService.TOTAL_CIRCUIT_BREAKER_LIMIT_SETTING,
                        HierarchyCircuitBreakerService.FIELDDATA_CIRCUIT_BREAKER_LIMIT_SETTING,
                        HierarchyCircuitBreakerService.FIELDDATA_CIRCUIT_BREAKER_OVERHEAD_SETTING,
                        HierarchyCircuitBreakerService.IN_FLIGHT_REQUESTS_CIRCUIT_BREAKER_LIMIT_SETTING,
                        HierarchyCircuitBreakerService.IN_FLIGHT_REQUESTS_CIRCUIT_BREAKER_OVERHEAD_SETTING,
                        HierarchyCircuitBreakerService.REQUEST_CIRCUIT_BREAKER_LIMIT_SETTING,
                        HierarchyCircuitBreakerService.REQUEST_CIRCUIT_BREAKER_OVERHEAD_SETTING,
                        HierarchyCircuitBreakerService.ACCOUNTING_CIRCUIT_BREAKER_LIMIT_SETTING,
                        HierarchyCircuitBreakerService.ACCOUNTING_CIRCUIT_BREAKER_OVERHEAD_SETTING,
                        IndexModule.NODE_STORE_ALLOW_MMAPFS,
                        ClusterService.CLUSTER_SERVICE_SLOW_TASK_LOGGING_THRESHOLD_SETTING,
                        ClusterService.USER_DEFINED_META_DATA,
                        SearchService.DEFAULT_SEARCH_TIMEOUT_SETTING,
                        SearchService.DEFAULT_ALLOW_PARTIAL_SEARCH_RESULTS,
                        ElectMasterService.DISCOVERY_ZEN_MINIMUM_MASTER_NODES_SETTING,
                        TransportSearchAction.SHARD_COUNT_LIMIT_SETTING,
                        RemoteClusterAware.REMOTE_CLUSTERS_SEEDS,
                        RemoteClusterAware.SEARCH_REMOTE_CLUSTERS_SEEDS,
                        RemoteClusterAware.REMOTE_CLUSTERS_PROXY,
                        RemoteClusterAware.SEARCH_REMOTE_CLUSTERS_PROXY,
                        RemoteClusterService.REMOTE_CLUSTER_SKIP_UNAVAILABLE,
                        RemoteClusterService.SEARCH_REMOTE_CLUSTER_SKIP_UNAVAILABLE,
                        RemoteClusterService.REMOTE_CONNECTIONS_PER_CLUSTER,
                        RemoteClusterService.SEARCH_REMOTE_CONNECTIONS_PER_CLUSTER,
                        RemoteClusterService.REMOTE_INITIAL_CONNECTION_TIMEOUT_SETTING,
                        RemoteClusterService.SEARCH_REMOTE_INITIAL_CONNECTION_TIMEOUT_SETTING,
                        RemoteClusterService.REMOTE_NODE_ATTRIBUTE,
                        RemoteClusterService.SEARCH_REMOTE_NODE_ATTRIBUTE,
                        RemoteClusterService.ENABLE_REMOTE_CLUSTERS,
                        RemoteClusterService.SEARCH_ENABLE_REMOTE_CLUSTERS,
                        TransportService.TRACE_LOG_EXCLUDE_SETTING,
                        TransportService.TRACE_LOG_INCLUDE_SETTING,
                        TransportCloseIndexAction.CLUSTER_INDICES_CLOSE_ENABLE_SETTING,
                        ShardsLimitAllocationDecider.CLUSTER_TOTAL_SHARDS_PER_NODE_SETTING,
                        NodeConnectionsService.CLUSTER_NODE_RECONNECT_INTERVAL_SETTING,
                        HierarchyCircuitBreakerService.FIELDDATA_CIRCUIT_BREAKER_TYPE_SETTING,
                        HierarchyCircuitBreakerService.REQUEST_CIRCUIT_BREAKER_TYPE_SETTING,
                        Transport.TRANSPORT_TCP_COMPRESS,
                        TcpTransport.HOST,
                        TcpTransport.PUBLISH_HOST,
                        TcpTransport.BIND_HOST,
                        TcpTransport.PUBLISH_PORT,
                        TcpTransport.PORT,
                        TcpTransport.BIND_HOST_PROFILE,
                        TcpTransport.PUBLISH_HOST_PROFILE,
                        TcpTransport.PUBLISH_PORT_PROFILE,
                        TcpTransport.PORT_PROFILE,
                        TcpTransport.TCP_NO_DELAY_PROFILE,
                        TcpTransport.TCP_KEEP_ALIVE_PROFILE,
                        TcpTransport.TCP_REUSE_ADDRESS_PROFILE,
                        TcpTransport.TCP_SEND_BUFFER_SIZE_PROFILE,
                        TcpTransport.TCP_RECEIVE_BUFFER_SIZE_PROFILE,
                        TransportService.CONNECTIONS_PER_NODE_RECOVERY,
                        TransportService.CONNECTIONS_PER_NODE_BULK,
                        TransportService.CONNECTIONS_PER_NODE_REG,
                        TransportService.CONNECTIONS_PER_NODE_STATE,
                        TransportService.CONNECTIONS_PER_NODE_PING,
                        TransportService.TCP_CONNECT_TIMEOUT,
                        TcpTransport.PING_SCHEDULE,
                        NetworkService.NETWORK_SERVER,
                        TcpTransport.TCP_NO_DELAY,
                        TcpTransport.TCP_KEEP_ALIVE,
                        TcpTransport.TCP_REUSE_ADDRESS,
                        TcpTransport.TCP_SEND_BUFFER_SIZE,
                        TcpTransport.TCP_RECEIVE_BUFFER_SIZE,
                        NetworkService.GLOBAL_NETWORK_HOST_SETTING,
                        NetworkService.GLOBAL_NETWORK_BINDHOST_SETTING,
                        NetworkService.GLOBAL_NETWORK_PUBLISHHOST_SETTING,
                        NetworkService.TCP_NO_DELAY,
                        NetworkService.TCP_KEEP_ALIVE,
                        NetworkService.TCP_REUSE_ADDRESS,
                        NetworkService.TCP_SEND_BUFFER_SIZE,
                        NetworkService.TCP_RECEIVE_BUFFER_SIZE,
                        NetworkService.TCP_CONNECT_TIMEOUT,
                        IndexSettings.QUERY_STRING_ANALYZE_WILDCARD,
                        IndexSettings.QUERY_STRING_ALLOW_LEADING_WILDCARD,
                        ScriptService.SCRIPT_CACHE_SIZE_SETTING,
                        ScriptService.SCRIPT_CACHE_EXPIRE_SETTING,
                        ScriptService.SCRIPT_MAX_SIZE_IN_BYTES,
                        ScriptService.SCRIPT_MAX_COMPILATIONS_RATE,
                        ScriptService.TYPES_ALLOWED_SETTING,
                        ScriptService.CONTEXTS_ALLOWED_SETTING,
                        IndicesService.INDICES_CACHE_CLEAN_INTERVAL_SETTING,
                        IndicesFieldDataCache.INDICES_FIELDDATA_CACHE_SIZE_KEY,
                        IndicesRequestCache.INDICES_CACHE_QUERY_SIZE,
                        IndicesRequestCache.INDICES_CACHE_QUERY_EXPIRE,
                        HunspellService.HUNSPELL_LAZY_LOAD,
                        HunspellService.HUNSPELL_IGNORE_CASE,
                        HunspellService.HUNSPELL_DICTIONARY_OPTIONS,
                        IndicesStore.INDICES_STORE_DELETE_SHARD_TIMEOUT,
                        Environment.PATH_DATA_SETTING,
                        Environment.PATH_HOME_SETTING,
                        Environment.PATH_LOGS_SETTING,
                        Environment.PATH_REPO_SETTING,
                        Environment.PATH_SHARED_DATA_SETTING,
                        Environment.PIDFILE_SETTING,
                        NodeEnvironment.NODE_ID_SEED_SETTING,
                        DiscoverySettings.INITIAL_STATE_TIMEOUT_SETTING,
                        DiscoveryModule.DISCOVERY_TYPE_SETTING,
                        DiscoveryModule.DISCOVERY_HOSTS_PROVIDER_SETTING,
                        FaultDetection.PING_RETRIES_SETTING,
                        FaultDetection.PING_TIMEOUT_SETTING,
                        FaultDetection.REGISTER_CONNECTION_LISTENER_SETTING,
                        FaultDetection.PING_INTERVAL_SETTING,
                        FaultDetection.CONNECT_ON_NETWORK_DISCONNECT_SETTING,
                        ZenDiscovery.PING_TIMEOUT_SETTING,
                        ZenDiscovery.JOIN_TIMEOUT_SETTING,
                        ZenDiscovery.JOIN_RETRY_ATTEMPTS_SETTING,
                        ZenDiscovery.JOIN_RETRY_DELAY_SETTING,
                        ZenDiscovery.MAX_PINGS_FROM_ANOTHER_MASTER_SETTING,
                        ZenDiscovery.SEND_LEAVE_REQUEST_SETTING,
                        ZenDiscovery.MASTER_ELECTION_WAIT_FOR_JOINS_TIMEOUT_SETTING,
                        ZenDiscovery.MASTER_ELECTION_IGNORE_NON_MASTER_PINGS_SETTING,
                        ZenDiscovery.MAX_PENDING_CLUSTER_STATES_SETTING,
                        SettingsBasedHostsProvider.DISCOVERY_ZEN_PING_UNICAST_HOSTS_SETTING,
                        UnicastZenPing.DISCOVERY_ZEN_PING_UNICAST_CONCURRENT_CONNECTS_SETTING,
                        UnicastZenPing.DISCOVERY_ZEN_PING_UNICAST_HOSTS_RESOLVE_TIMEOUT,
                        SearchService.DEFAULT_KEEPALIVE_SETTING,
                        SearchService.KEEPALIVE_INTERVAL_SETTING,
                        SearchService.MAX_KEEPALIVE_SETTING,
                        MultiBucketConsumerService.MAX_BUCKET_SETTING,
                        SearchService.LOW_LEVEL_CANCELLATION_SETTING,
                        Node.WRITE_PORTS_FILE_SETTING,
                        Node.NODE_NAME_SETTING,
                        Node.NODE_DATA_SETTING,
                        Node.NODE_MASTER_SETTING,
                        Node.NODE_INGEST_SETTING,
                        Node.NODE_ATTRIBUTES,
                        Node.NODE_LOCAL_STORAGE_SETTING,
                        AutoCreateIndex.AUTO_CREATE_INDEX_SETTING,
                        BaseRestHandler.MULTI_ALLOW_EXPLICIT_INDEX,
                        ClusterName.CLUSTER_NAME_SETTING,
                        Client.CLIENT_TYPE_SETTING_S,
                        ClusterModule.SHARDS_ALLOCATOR_TYPE_SETTING,
                        EsExecutors.PROCESSORS_SETTING,
                        ThreadContext.DEFAULT_HEADERS_SETTING,
                        TcpTransport.DEFAULT_FEATURES_SETTING,
                        Loggers.LOG_DEFAULT_LEVEL_SETTING,
                        Loggers.LOG_LEVEL_SETTING,
                        NodeEnvironment.MAX_LOCAL_STORAGE_NODES_SETTING,
                        NodeEnvironment.ENABLE_LUCENE_SEGMENT_INFOS_TRACE_SETTING,
                        OsService.REFRESH_INTERVAL_SETTING,
                        ProcessService.REFRESH_INTERVAL_SETTING,
                        JvmService.REFRESH_INTERVAL_SETTING,
                        FsService.REFRESH_INTERVAL_SETTING,
                        JvmGcMonitorService.ENABLED_SETTING,
                        JvmGcMonitorService.REFRESH_INTERVAL_SETTING,
                        JvmGcMonitorService.GC_SETTING,
                        JvmGcMonitorService.GC_OVERHEAD_WARN_SETTING,
                        JvmGcMonitorService.GC_OVERHEAD_INFO_SETTING,
                        JvmGcMonitorService.GC_OVERHEAD_DEBUG_SETTING,
                        PageCacheRecycler.LIMIT_HEAP_SETTING,
                        PageCacheRecycler.WEIGHT_BYTES_SETTING,
                        PageCacheRecycler.WEIGHT_INT_SETTING,
                        PageCacheRecycler.WEIGHT_LONG_SETTING,
                        PageCacheRecycler.WEIGHT_OBJECTS_SETTING,
                        PageCacheRecycler.TYPE_SETTING,
                        PluginsService.MANDATORY_SETTING,
                        BootstrapSettings.SECURITY_FILTER_BAD_DEFAULTS_SETTING,
                        BootstrapSettings.MEMORY_LOCK_SETTING,
                        BootstrapSettings.SYSTEM_CALL_FILTER_SETTING,
                        BootstrapSettings.CTRLHANDLER_SETTING,
                        KeyStoreWrapper.SEED_SETTING,
                        IndexingMemoryController.INDEX_BUFFER_SIZE_SETTING,
                        IndexingMemoryController.MIN_INDEX_BUFFER_SIZE_SETTING,
                        IndexingMemoryController.MAX_INDEX_BUFFER_SIZE_SETTING,
                        IndexingMemoryController.SHARD_INACTIVE_TIME_SETTING,
                        IndexingMemoryController.SHARD_MEMORY_INTERVAL_TIME_SETTING,
                        ResourceWatcherService.ENABLED,
                        ResourceWatcherService.RELOAD_INTERVAL_HIGH,
                        ResourceWatcherService.RELOAD_INTERVAL_MEDIUM,
                        ResourceWatcherService.RELOAD_INTERVAL_LOW,
                        SearchModule.INDICES_MAX_CLAUSE_COUNT_SETTING,
                        ThreadPool.ESTIMATED_TIME_INTERVAL_SETTING,
                        FastVectorHighlighter.SETTING_TV_HIGHLIGHT_MULTI_VALUE,
                        Node.BREAKER_TYPE_KEY,
                        OperationRouting.USE_ADAPTIVE_REPLICA_SELECTION_SETTING,
                        IndexGraveyard.SETTING_MAX_TOMBSTONES,
                        EnableAssignmentDecider.CLUSTER_TASKS_ALLOCATION_ENABLE_SETTING
                )));

    包含setting的结构图如下

                                                   <图1>

     

                                                <图2>

                    <图3>

    2.3 SettingsFilter

    /**
     * A class that allows to filter settings objects by simple regular expression patterns or full settings keys.
     * It's used for response filtering on the rest layer to for instance filter out sensitive information like access keys.
     */
  • 相关阅读:
    关于父子页面的交互
    Spring在代码中获取bean的几种方式(转:http://www.dexcoder.com/selfly/article/326)
    关于Zookeeper
    Java 生成pdf表格文档
    Spring 框架中Http请求处理流程
    关于redis
    Xstream 解析xml文件内容
    ArrayBlockingQueue 和LinkedBlockQueue
    spring IOC
    springboot启动过程
  • 原文地址:https://www.cnblogs.com/davidwang456/p/10148687.html
Copyright © 2011-2022 走看看