Class VeniceControllerConfig

    • 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()
      • 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.