static

in crossdc-commons/src/main/java/org/apache/solr/crossdc/common/KafkaCrossDcConf.java [141:218]


  static {
    List<ConfigProperty> configProperties = new ArrayList<>(
        List.of(new ConfigProperty(TOPIC_NAME),
            new ConfigProperty(DLQ_TOPIC_NAME),
            new ConfigProperty(MAX_ATTEMPTS, "3"),
            new ConfigProperty(BOOTSTRAP_SERVERS),
            new ConfigProperty(BATCH_SIZE_BYTES, DEFAULT_BATCH_SIZE_BYTES),
            new ConfigProperty(BUFFER_MEMORY_BYTES, DEFAULT_BUFFER_MEMORY_BYTES),
            new ConfigProperty(LINGER_MS, DEFAULT_LINGER_MS),
            new ConfigProperty(REQUEST_TIMEOUT_MS, DEFAULT_REQUEST_TIMEOUT),
            new ConfigProperty(MAX_REQUEST_SIZE_BYTES, DEFAULT_MAX_REQUEST_SIZE),
            new ConfigProperty(ENABLE_DATA_COMPRESSION, DEFAULT_ENABLE_DATA_COMPRESSION),
            new ConfigProperty(INDEX_UNMIRRORABLE_DOCS, DEFAULT_INDEX_UNMIRRORABLE_DOCS),
            new ConfigProperty(SLOW_SUBMIT_THRESHOLD_MS, DEFAULT_SLOW_SEND_THRESHOLD),
            new ConfigProperty(NUM_RETRIES, DEFAULT_NUM_RETRIES),
            new ConfigProperty(RETRY_BACKOFF_MS, DEFAULT_RETRY_BACKOFF_MS),
            new ConfigProperty(DELIVERY_TIMEOUT_MS, DEFAULT_DELIVERY_TIMEOUT_MS),

            // Consumer only zkConnectString
            new ConfigProperty(ZK_CONNECT_STRING, null),
            new ConfigProperty(FETCH_MIN_BYTES, DEFAULT_FETCH_MIN_BYTES),
            new ConfigProperty(FETCH_MAX_BYTES, DEFAULT_FETCH_MAX_BYTES),
            new ConfigProperty(FETCH_MAX_WAIT_MS, DEFAULT_FETCH_MAX_WAIT_MS),
            new ConfigProperty(CONSUMER_PROCESSING_THREADS, DEFAULT_CONSUMER_PROCESSING_THREADS),
            new ConfigProperty(MAX_POLL_INTERVAL_MS, DEFAULT_MAX_POLL_INTERVAL_MS),
            new ConfigProperty(SESSION_TIMEOUT_MS, DEFAULT_SESSION_TIMEOUT_MS),

            new ConfigProperty(MIRROR_COLLECTIONS, DEFAULT_MIRROR_COLLECTIONS),
            new ConfigProperty(MIRROR_COMMITS, DEFAULT_MIRROR_COMMITS),
            new ConfigProperty(EXPAND_DBQ, DEFAULT_EXPAND_DBQ),
            new ConfigProperty(COLLAPSE_UPDATES, DEFAULT_COLLAPSE_UPDATES),
            new ConfigProperty(MAX_COLLAPSE_RECORDS, DEFAULT_MAX_COLLAPSE_RECORDS),

            new ConfigProperty(MAX_PARTITION_FETCH_BYTES, DEFAULT_MAX_PARTITION_FETCH_BYTES),
            new ConfigProperty(MAX_POLL_RECORDS, DEFAULT_MAX_POLL_RECORDS),
            new ConfigProperty(PORT, DEFAULT_PORT),
            new ConfigProperty(GROUP_ID, DEFAULT_GROUP_ID)));


    SECURITY_CONFIG_PROPERTIES =
        List.of(
            new ConfigProperty(SslConfigs.SSL_PROTOCOL_CONFIG),
            new ConfigProperty(SslConfigs.SSL_PROVIDER_CONFIG),
            new ConfigProperty(SslConfigs.SSL_CIPHER_SUITES_CONFIG),
            new ConfigProperty(SslConfigs.SSL_ENABLED_PROTOCOLS_CONFIG),
            new ConfigProperty(SslConfigs.SSL_KEYSTORE_TYPE_CONFIG),
            new ConfigProperty(SslConfigs.SSL_KEYSTORE_LOCATION_CONFIG),
            new ConfigProperty(SslConfigs.SSL_KEYSTORE_PASSWORD_CONFIG),
            new ConfigProperty(SslConfigs.SSL_KEY_PASSWORD_CONFIG),
            new ConfigProperty(SslConfigs.SSL_KEYSTORE_KEY_CONFIG),
            new ConfigProperty(SslConfigs.SSL_KEYSTORE_CERTIFICATE_CHAIN_CONFIG),
            new ConfigProperty(SslConfigs.SSL_TRUSTSTORE_CERTIFICATES_CONFIG),
            new ConfigProperty(SslConfigs.SSL_TRUSTSTORE_TYPE_CONFIG),
            new ConfigProperty(SslConfigs.SSL_TRUSTSTORE_LOCATION_CONFIG),
            new ConfigProperty(SslConfigs.SSL_TRUSTSTORE_PASSWORD_CONFIG),
            new ConfigProperty(SslConfigs.SSL_KEYMANAGER_ALGORITHM_CONFIG),
            new ConfigProperty(SslConfigs.SSL_TRUSTMANAGER_ALGORITHM_CONFIG),
            new ConfigProperty(SslConfigs.SSL_ENDPOINT_IDENTIFICATION_ALGORITHM_CONFIG),
            new ConfigProperty(SslConfigs.SSL_SECURE_RANDOM_IMPLEMENTATION_CONFIG),

            new ConfigProperty(BrokerSecurityConfigs.SSL_CLIENT_AUTH_CONFIG),


            // From Common and Admin Client Security
            new ConfigProperty(CommonClientConfigs.SECURITY_PROTOCOL_CONFIG),
            new ConfigProperty(AdminClientConfig.SECURITY_PROVIDERS_CONFIG)
        );

    configProperties.addAll(SECURITY_CONFIG_PROPERTIES);
    CONFIG_PROPERTIES = Collections.unmodifiableList(configProperties);

    Map<String, ConfigProperty> configPropertiesMap =
        new HashMap<String, ConfigProperty>(CONFIG_PROPERTIES.size());
    for (ConfigProperty prop : CONFIG_PROPERTIES) {
      configPropertiesMap.put(prop.getKey(), prop);
    }
    CONFIG_PROPERTIES_MAP = configPropertiesMap;
  }