Package com.linkedin.venice.controller
Class VeniceControllerConfig
- java.lang.Object
-
- com.linkedin.venice.controller.VeniceControllerClusterConfig
-
- com.linkedin.venice.controller.VeniceControllerConfig
-
public class VeniceControllerConfig extends VeniceControllerClusterConfig
Configuration which is specific to a Venice controller. It's quite confusing to have bothVeniceControllerConfig
andVeniceControllerClusterConfig
. TODO: remove one of them
-
-
Constructor Summary
Constructors Constructor Description VeniceControllerConfig(VeniceProperties props)
-
Method Summary
-
Methods inherited from class com.linkedin.venice.controller.VeniceControllerClusterConfig
enabledIncrementalPushForHybridActiveActiveUserStores, getAdminTopicReplicationFactor, getChildDatacenters, getClusterName, getClusterToD2Map, getClusterToServerD2Map, getControllerName, getDefaultReadQuotaPerRouter, getDelayToRebalanceMS, getHelixRebalanceAlg, getHelixSendMessageTimeoutMs, getJettyConfigOverrides, getKafkaBootstrapServers, getKafkaMinLogCompactionLagInMs, getKafkaReplicationFactor, getKafkaReplicationFactorRTTopics, getKafkaSecurityProtocol, getLeakedPushStatusCleanUpServiceSleepIntervalInMs, getLeakedResourceAllowedLingerTimeInMs, getMaxNumberOfPartitions, getMinActiveReplica, getMinInSyncReplicas, getMinInSyncReplicasAdminTopics, getMinInSyncReplicasRealTimeTopics, getMinNumberOfPartitions, getMinNumberOfPartitionsForHybrid, getNativeReplicationSourceFabricAsDefaultForBatchOnly, getNativeReplicationSourceFabricAsDefaultForHybrid, getOffLineJobWaitTimeInMilliseconds, getOfflinePushStrategy, getPartitionCountRoundUpSize, getPartitionSize, getPersistenceType, getProps, getPushMonitorType, getPushSSLAllowlist, getReadStrategy, getRefreshAttemptsForZkReconnect, getRefreshIntervalForZkReconnectInMs, getReplicationFactor, getReplicationMetadataVersion, getRoutingStrategy, getSslConfig, getSslFactoryClassName, getSslKafkaBootstrapServers, getZkAddress, isActiveActiveReplicationEnabledAsDefaultForBatchOnly, isActiveActiveReplicationEnabledAsDefaultForHybrid, isControllerSchemaValidationEnabled, isDisableParentRequestTopicForStreamPushes, isEnableNearlinePushSSLAllowlist, isEnableOfflinePushSSLAllowlist, isEnablePartialUpdateForHybridActiveActiveUserStores, isEnablePartialUpdateForHybridNonActiveActiveUserStores, isErrorLeaderReplicaFailOverEnabled, isKafkaLogCompactionForHybridStoresEnabled, isNativeReplicationEnabledAsDefaultForBatchOnly, isNativeReplicationEnabledAsDefaultForHybrid, isNativeReplicationEnabledForBatchOnly, isNativeReplicationEnabledForHybrid, isPartitionCountRoundUpEnabled, isSslToKafka
-
-
-
-
Constructor Detail
-
VeniceControllerConfig
public VeniceControllerConfig(VeniceProperties props)
-
-
Method Detail
-
getAdminPort
public int getAdminPort()
-
getAdminHostname
public java.lang.String getAdminHostname()
-
getAdminSecurePort
public int getAdminSecurePort()
-
adminCheckReadMethodForKafka
public boolean adminCheckReadMethodForKafka()
-
getControllerClusterReplica
public int getControllerClusterReplica()
-
getControllerClusterName
public java.lang.String getControllerClusterName()
-
getControllerClusterZkAddress
public java.lang.String getControllerClusterZkAddress()
-
isParent
public boolean isParent()
-
getTopicCreationThrottlingTimeWindowMs
public long getTopicCreationThrottlingTimeWindowMs()
-
getDeprecatedJobTopicRetentionMs
public long getDeprecatedJobTopicRetentionMs()
-
getDeprecatedJobTopicMaxRetentionMs
public long getDeprecatedJobTopicMaxRetentionMs()
-
getTopicCleanupSleepIntervalBetweenTopicListFetchMs
public long getTopicCleanupSleepIntervalBetweenTopicListFetchMs()
-
getDisabledReplicaEnablerServiceIntervalMs
public long getDisabledReplicaEnablerServiceIntervalMs()
-
getDaVinciPushStatusScanMaxOfflineInstanceCount
public int getDaVinciPushStatusScanMaxOfflineInstanceCount()
-
getDaVinciPushStatusScanMaxOfflineInstanceRatio
public double getDaVinciPushStatusScanMaxOfflineInstanceRatio()
-
getTopicCleanupDelayFactor
public int getTopicCleanupDelayFactor()
-
getChildDataCenterControllerUrlMap
public java.util.Map<java.lang.String,java.lang.String> getChildDataCenterControllerUrlMap()
Map where keys are logical, human-readable names for child clusters (suitable for printing in logs or other output) values are a list of cluster URLs that can be used to reach that cluster with the controller client. List provides redundancy in case of hardware or other failure. Clients of this list should be sure they use another url if the first one fails.
-
getD2ServiceName
public java.lang.String getD2ServiceName()
-
getClusterDiscoveryD2ServiceName
public java.lang.String getClusterDiscoveryD2ServiceName()
-
isUnusedValueSchemaCleanupServiceEnabled
public boolean isUnusedValueSchemaCleanupServiceEnabled()
-
getUnusedSchemaCleanupIntervalSeconds
public int getUnusedSchemaCleanupIntervalSeconds()
-
getMinSchemaCountToKeep
public int getMinSchemaCountToKeep()
-
useDaVinciSpecificExecutionStatusForError
public boolean useDaVinciSpecificExecutionStatusForError()
-
getChildDataCenterControllerD2Map
public java.util.Map<java.lang.String,java.lang.String> getChildDataCenterControllerD2Map()
-
getChildDataCenterKafkaUrlMap
public java.util.Map<java.lang.String,java.lang.String> getChildDataCenterKafkaUrlMap()
-
getChildDataCenterAllowlist
public java.util.List<java.lang.String> getChildDataCenterAllowlist()
-
getActiveActiveRealTimeSourceFabrics
public java.util.Set<java.lang.String> getActiveActiveRealTimeSourceFabrics()
-
getNativeReplicationSourceFabric
public java.lang.String getNativeReplicationSourceFabric()
-
getParentFabrics
public java.util.Set<java.lang.String> getParentFabrics()
-
getParentControllerWaitingTimeForConsumptionMs
public int getParentControllerWaitingTimeForConsumptionMs()
-
getBatchJobHeartbeatStoreCluster
public java.lang.String getBatchJobHeartbeatStoreCluster()
-
getBatchJobHeartbeatEnabled
public boolean getBatchJobHeartbeatEnabled()
-
getBatchJobHeartbeatTimeout
public java.time.Duration getBatchJobHeartbeatTimeout()
-
getBatchJobHeartbeatInitialBufferTime
public java.time.Duration getBatchJobHeartbeatInitialBufferTime()
-
getAdminConsumptionTimeoutMinutes
public long getAdminConsumptionTimeoutMinutes()
-
isEnableDisabledReplicaEnabled
public boolean isEnableDisabledReplicaEnabled()
-
getAdminConsumptionCycleTimeoutMs
public long getAdminConsumptionCycleTimeoutMs()
-
getAdminConsumptionMaxWorkerThreadPoolSize
public int getAdminConsumptionMaxWorkerThreadPoolSize()
-
parseClusterMap
public static java.util.Map<java.lang.String,java.lang.String> parseClusterMap(VeniceProperties clusterPros, java.lang.String datacenterAllowlist)
-
getStorageEngineOverheadRatio
public double getStorageEngineOverheadRatio()
-
getTopicManagerKafkaOperationTimeOutMs
public int getTopicManagerKafkaOperationTimeOutMs()
-
getTopicManagerMetadataFetcherConsumerPoolSize
public int getTopicManagerMetadataFetcherConsumerPoolSize()
-
getTopicManagerMetadataFetcherThreadPoolSize
public int getTopicManagerMetadataFetcherThreadPoolSize()
-
getMinNumberOfUnusedKafkaTopicsToPreserve
public int getMinNumberOfUnusedKafkaTopicsToPreserve()
-
getMinNumberOfStoreVersionsToPreserve
public int getMinNumberOfStoreVersionsToPreserve()
-
getParentControllerMaxErroredTopicNumToKeep
public int getParentControllerMaxErroredTopicNumToKeep()
-
getPushJobStatusStoreClusterName
public java.lang.String getPushJobStatusStoreClusterName()
-
isParticipantMessageStoreEnabled
public boolean isParticipantMessageStoreEnabled()
-
isDaVinciPushStatusEnabled
public boolean isDaVinciPushStatusEnabled()
-
getSystemSchemaClusterName
public java.lang.String getSystemSchemaClusterName()
-
getTopicDeletionStatusPollIntervalMs
public int getTopicDeletionStatusPollIntervalMs()
-
isAdminHelixMessagingChannelEnabled
public boolean isAdminHelixMessagingChannelEnabled()
-
isControllerClusterLeaderHAAS
public boolean isControllerClusterLeaderHAAS()
-
isVeniceClusterLeaderHAAS
public boolean isVeniceClusterLeaderHAAS()
-
getControllerHAASSuperClusterName
public java.lang.String getControllerHAASSuperClusterName()
-
isEarlyDeleteBackUpEnabled
public boolean isEarlyDeleteBackUpEnabled()
-
isConcurrentTopicDeleteRequestsEnabled
public boolean isConcurrentTopicDeleteRequestsEnabled()
-
isEnableBatchPushFromAdminInChildController
public boolean isEnableBatchPushFromAdminInChildController()
-
getKafkaAdminClass
public java.lang.String getKafkaAdminClass()
-
getKafkaWriteOnlyClass
public java.lang.String getKafkaWriteOnlyClass()
-
getKafkaReadOnlyClass
public java.lang.String getKafkaReadOnlyClass()
-
getErrorPartitionAutoResetLimit
public int getErrorPartitionAutoResetLimit()
-
getErrorPartitionProcessingCycleDelay
public long getErrorPartitionProcessingCycleDelay()
-
getBackupVersionDefaultRetentionMs
public long getBackupVersionDefaultRetentionMs()
-
isBackupVersionRetentionBasedCleanupEnabled
public boolean isBackupVersionRetentionBasedCleanupEnabled()
-
isBackupVersionMetadataFetchBasedCleanupEnabled
public boolean isBackupVersionMetadataFetchBasedCleanupEnabled()
-
isControllerEnforceSSLOnly
public boolean isControllerEnforceSSLOnly()
-
getTerminalStateTopicCheckerDelayMs
public long getTerminalStateTopicCheckerDelayMs()
-
disableParentTopicTruncationUponCompletion
public boolean disableParentTopicTruncationUponCompletion()
-
isZkSharedMetaSystemSchemaStoreAutoCreationEnabled
public boolean isZkSharedMetaSystemSchemaStoreAutoCreationEnabled()
-
getPushStatusStoreHeartbeatExpirationTimeInSeconds
public long getPushStatusStoreHeartbeatExpirationTimeInSeconds()
-
isDaVinciPushStatusStoreEnabled
public boolean isDaVinciPushStatusStoreEnabled()
-
getDaVinciPushStatusScanIntervalInSeconds
public int getDaVinciPushStatusScanIntervalInSeconds()
-
isDaVinciPushStatusScanEnabled
public boolean isDaVinciPushStatusScanEnabled()
-
getDaVinciPushStatusScanThreadNumber
public int getDaVinciPushStatusScanThreadNumber()
-
getDaVinciPushStatusScanNoReportRetryMaxAttempt
public int getDaVinciPushStatusScanNoReportRetryMaxAttempt()
-
isZkSharedDaVinciPushStatusSystemSchemaStoreAutoCreationEnabled
public boolean isZkSharedDaVinciPushStatusSystemSchemaStoreAutoCreationEnabled()
-
getSystemStoreAclSynchronizationDelayMs
public long getSystemStoreAclSynchronizationDelayMs()
-
getRegionName
public java.lang.String getRegionName()
-
getDisabledRoutes
public java.util.List<ControllerRoute> getDisabledRoutes()
-
isAdminTopicRemoteConsumptionEnabled
public boolean isAdminTopicRemoteConsumptionEnabled()
-
getAdminTopicSourceRegion
public java.lang.String getAdminTopicSourceRegion()
-
getAggregateRealTimeSourceRegion
public java.lang.String getAggregateRealTimeSourceRegion()
-
isAutoMaterializeMetaSystemStoreEnabled
public boolean isAutoMaterializeMetaSystemStoreEnabled()
-
isAutoMaterializeDaVinciPushStatusSystemStoreEnabled
public boolean isAutoMaterializeDaVinciPushStatusSystemStoreEnabled()
-
getEmergencySourceRegion
public java.lang.String getEmergencySourceRegion()
-
getChildControllerUrl
public java.lang.String getChildControllerUrl(java.lang.String fabric)
-
getChildControllerD2ServiceName
public java.lang.String getChildControllerD2ServiceName()
-
getChildControllerD2ZkHost
public java.lang.String getChildControllerD2ZkHost(java.lang.String fabric)
-
isClusterWipeAllowed
public boolean isClusterWipeAllowed()
-
isChildControllerAdminTopicConsumptionEnabled
public boolean isChildControllerAdminTopicConsumptionEnabled()
-
isConcurrentInitRoutinesEnabled
public boolean isConcurrentInitRoutinesEnabled()
-
isControllerInAzureFabric
public boolean isControllerInAzureFabric()
-
usePushStatusStoreForIncrementalPush
public boolean usePushStatusStoreForIncrementalPush()
-
getMetaStoreWriterCloseTimeoutInMS
public long getMetaStoreWriterCloseTimeoutInMS()
-
getMetaStoreWriterCloseConcurrency
public int getMetaStoreWriterCloseConcurrency()
-
isUnregisterMetricForDeletedStoreEnabled
public boolean isUnregisterMetricForDeletedStoreEnabled()
-
getIdentityParserClassName
public java.lang.String getIdentityParserClassName()
-
isStoreGraveyardCleanupEnabled
public boolean isStoreGraveyardCleanupEnabled()
-
getStoreGraveyardCleanupDelayMinutes
public int getStoreGraveyardCleanupDelayMinutes()
-
getStoreGraveyardCleanupSleepIntervalBetweenListFetchMinutes
public int getStoreGraveyardCleanupSleepIntervalBetweenListFetchMinutes()
-
isParentSystemStoreRepairServiceEnabled
public boolean isParentSystemStoreRepairServiceEnabled()
-
getParentSystemStoreRepairCheckIntervalSeconds
public int getParentSystemStoreRepairCheckIntervalSeconds()
-
getParentSystemStoreHeartbeatCheckWaitTimeSeconds
public int getParentSystemStoreHeartbeatCheckWaitTimeSeconds()
-
getParentSystemStoreRepairRetryCount
public int getParentSystemStoreRepairRetryCount()
-
isParentExternalSupersetSchemaGenerationEnabled
public boolean isParentExternalSupersetSchemaGenerationEnabled()
-
isSystemSchemaInitializationAtStartTimeEnabled
public boolean isSystemSchemaInitializationAtStartTimeEnabled()
-
isKMERegistrationFromMessageHeaderEnabled
public boolean isKMERegistrationFromMessageHeaderEnabled()
-
getPubSubClientsFactory
public PubSubClientsFactory getPubSubClientsFactory()
-
parseClusterMap
public static java.util.Map<java.lang.String,java.lang.String> parseClusterMap(VeniceProperties clusterPros, java.lang.String datacenterAllowlist, java.lang.Boolean D2Routing)
The config should follow the format below: CHILD_CLUSTER_URL_PREFIX.fabricName1=controllerUrls_in_fabric1 CHILD_CLUSTER_URL_PREFIX.fabricName2=controllerUrls_in_fabric2 This helper function will parse the config with above format and return a Map from data center to its controller urls.- Parameters:
clusterPros
- list of child controller uris.datacenterAllowlist
- data centers that are taken into account.D2Routing
- whether it uses D2 to route or not.
-
-