Class StoreProperties
java.lang.Object
org.apache.avro.specific.SpecificRecordBase
com.linkedin.venice.systemstore.schemas.StoreProperties
- All Implemented Interfaces:
Externalizable
,Serializable
,Comparable<org.apache.avro.specific.SpecificRecord>
,org.apache.avro.generic.GenericContainer
,org.apache.avro.generic.GenericRecord
,org.apache.avro.generic.IndexedRecord
,org.apache.avro.specific.SpecificRecord
public class StoreProperties
extends org.apache.avro.specific.SpecificRecordBase
implements org.apache.avro.specific.SpecificRecord
This type contains all the store configs and the corresponding versions
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionboolean
Store-level ACL switch.boolean
Whether or not active/active replication is enabled for hybrid stores; eventually this config will replace native replication flag, when all stores are on A/Aboolean
Whether or not the target version field in Kafka messages will be used in increment push to RT policyint
Strategies to store backup versions, and default is 'DELETE_ON_NEW_PUSH_START'long
Backup retention time, and if it is not set (-1), Venice Controller will use the default configured retention.int
Batch get key number limit, and Venice will use cluster-level config if it is not positive.boolean
Flag to indicate if the blob transfer is allowed or notint
Maximum number of hours allowed for the store to transition from bootstrap to online state.boolean
Whether current store supports large value (typically more than 1MB).boolean
le/Disable client-side record decompression (default: true)int
Strategy used to compress/decompress Record's value, and default is 'NO_OP'long
Timestamp when this store was created.int
The number of version which is used currently.boolean
Whether or not davinci push status store is enabled.boolean
If a store is disabled from being read, none of versions under this store could serve read requests.boolean
If a store is disabled from writing, new version can not be created for it.Properties related to ETL Store behavior.Properties related to Hybrid Store behavior.boolean
Whether or not storage disk quota is enabled for a hybrid store.boolean
Flag to see if the store supports incremental push or notint
Incremental Push Policy to reconcile with real time pushes, and default is 'PUSH_TO_VERSION_TOPIC'boolean
Flag to indicate whether DVC is bootstrapping and sending heartbeatsint
The largest version number ever used before for this store.int
For read compute stores with auto super-set schema enabled, stores the latest super-set value schema ID.long
This is used to track the time when a new version is promoted to current version.boolean
Whether or not to use leader follower state transition model for upcoming version.long
EOIP control message timestamp of the most recent incremental push that has been marked successfullong
Store level max compaction lag config and if not specified, 'max.compaction.lag.ms' config won't be setup in the corresponding version topicsint
Store-level max record size in bytes for nearline jobs with partial updates.int
Store-level max record size in bytes.boolean
Whether or not the store is in the process of migration.boolean
Whether or not the store is a duplicate store in the process of migration.long
Store level min compaction lag config and if not specified, it will use the global config for version topicsStore name.boolean
Whether or not native should be enabled for this store.The source fabric name to be uses in native replication.boolean
Flag to control whether the producer in Server for near-line workload will enable compression or notint
How many producers will be used for the nearline producer in Server to improve producing throughputint
How many versions this store preserve at most.int
When doing off-line push, how to decide the data is ready to serve, and default is 'WAIT_N_MINUS_ONE_REPLCIA_PER_PARTITION'Owner of this store.int
Default partition count for all of versions in this store.int
Type of persistence storage engine, and default is 'ROCKS_DB'Address to the kafka broker which holds the source of truth topic for this store version.boolean
Whether read-path computation is enabled for this store.long
Quota for read request hit this store.int
How to read data from multiple replications, and default is 'ANY_OF_ONLINE'int
The number of replica each store version will keep.int
RMD (Replication metadata) version ID on the store-level.boolean
Whether current store supports large replication metadata (typically more than 1MB).int
How to route the key to partition, and default is 'CONSISTENT_HASH'static final org.apache.avro.Schema
boolean
Whether or not value schema auto registration enabled from push job for this store.boolean
Flag to see if the store supports separate real-time topic for incremental push.boolean
Controls the storage node read quota enforcement for the given Venice storelong
Maximum capacity a store version is able to have, and default is 20GBboolean
Whether or not the store metadata system store is enabled for this store.boolean
Whether or not the store meta system store is enabled for this store.This field is used to maintain a mapping between each type of system store and the corresponding distinct propertiesControls what region to swap in the current version during target colo pushint
Controls how long to wait in minutes before swapping the version on the regionsboolean
Store level config to indicate whether unused schema deletion is enabled or not.List of non-retired versions.A map of views which describe and configure a downstream view of a venice store.boolean
Whether or not write-path computation feature is enabled for this store. -
Constructor Summary
ConstructorDescriptionDefault constructor.StoreProperties
(CharSequence name, CharSequence owner, Long createdTime, Integer currentVersion, Integer partitionCount, Long lowWatermark, Boolean enableWrites, Boolean enableReads, Long storageQuotaInByte, Integer persistenceType, Integer routingStrategy, Integer readStrategy, Integer offlinePushStrategy, Integer largestUsedVersionNumber, Long readQuotaInCU, StoreHybridConfig hybridConfig, Map<CharSequence, StoreViewConfig> views, Boolean accessControlled, Integer compressionStrategy, Boolean clientDecompressionEnabled, Boolean chunkingEnabled, Boolean rmdChunkingEnabled, Integer batchGetLimit, Integer numVersionsToPreserve, Boolean incrementalPushEnabled, Boolean separateRealTimeTopicEnabled, Boolean migrating, Boolean writeComputationEnabled, Boolean readComputationEnabled, Integer bootstrapToOnlineTimeoutInHours, Boolean leaderFollowerModelEnabled, Boolean nativeReplicationEnabled, Integer replicationMetadataVersionID, CharSequence pushStreamSourceAddress, Integer backupStrategy, Boolean schemaAutoRegisteFromPushJobEnabled, Integer latestSuperSetValueSchemaId, Boolean hybridStoreDiskQuotaEnabled, Boolean storeMetadataSystemStoreEnabled, StoreETLConfig etlConfig, StorePartitionerConfig partitionerConfig, Integer incrementalPushPolicy, Long latestVersionPromoteToCurrentTimestamp, Long backupVersionRetentionMs, Integer replicationFactor, Boolean migrationDuplicateStore, CharSequence nativeReplicationSourceFabric, Boolean daVinciPushStatusStoreEnabled, Boolean storeMetaSystemStoreEnabled, Boolean activeActiveReplicationEnabled, Boolean applyTargetVersionFilterForIncPush, Long minCompactionLagSeconds, Long maxCompactionLagSeconds, Integer maxRecordSizeBytes, Integer maxNearlineRecordSizeBytes, Boolean unusedSchemaDeletionEnabled, List<StoreVersion> versions, Map<CharSequence, SystemStoreProperties> systemStores, Boolean storageNodeReadQuotaEnabled, Boolean blobTransferEnabled, Boolean nearlineProducerCompressionEnabled, Integer nearlineProducerCountPerWriter, CharSequence targetSwapRegion, Integer targetSwapRegionWaitTime, Boolean isDaVinciHeartBeatReported) All-args constructor. -
Method Summary
Modifier and TypeMethodDescriptionget
(int field$) boolean
Gets the value of the 'accessControlled' field.boolean
Gets the value of the 'activeActiveReplicationEnabled' field.boolean
Gets the value of the 'applyTargetVersionFilterForIncPush' field.int
Gets the value of the 'backupStrategy' field.long
Gets the value of the 'backupVersionRetentionMs' field.int
Gets the value of the 'batchGetLimit' field.boolean
Gets the value of the 'blobTransferEnabled' field.int
Gets the value of the 'bootstrapToOnlineTimeoutInHours' field.boolean
Gets the value of the 'chunkingEnabled' field.static org.apache.avro.Schema
boolean
Gets the value of the 'clientDecompressionEnabled' field.int
Gets the value of the 'compressionStrategy' field.long
Gets the value of the 'createdTime' field.int
Gets the value of the 'currentVersion' field.boolean
Gets the value of the 'daVinciPushStatusStoreEnabled' field.boolean
Gets the value of the 'enableReads' field.boolean
Gets the value of the 'enableWrites' field.Gets the value of the 'etlConfig' field.Gets the value of the 'hybridConfig' field.boolean
Gets the value of the 'hybridStoreDiskQuotaEnabled' field.boolean
Gets the value of the 'incrementalPushEnabled' field.int
Gets the value of the 'incrementalPushPolicy' field.boolean
Gets the value of the 'isDaVinciHeartBeatReported' field.int
Gets the value of the 'largestUsedVersionNumber' field.int
Gets the value of the 'latestSuperSetValueSchemaId' field.long
Gets the value of the 'latestVersionPromoteToCurrentTimestamp' field.boolean
Gets the value of the 'leaderFollowerModelEnabled' field.long
Gets the value of the 'lowWatermark' field.long
Gets the value of the 'maxCompactionLagSeconds' field.int
Gets the value of the 'maxNearlineRecordSizeBytes' field.int
Gets the value of the 'maxRecordSizeBytes' field.boolean
Gets the value of the 'migrating' field.boolean
Gets the value of the 'migrationDuplicateStore' field.long
Gets the value of the 'minCompactionLagSeconds' field.getName()
Gets the value of the 'name' field.boolean
Gets the value of the 'nativeReplicationEnabled' field.Gets the value of the 'nativeReplicationSourceFabric' field.boolean
Gets the value of the 'nearlineProducerCompressionEnabled' field.int
Gets the value of the 'nearlineProducerCountPerWriter' field.int
Gets the value of the 'numVersionsToPreserve' field.int
Gets the value of the 'offlinePushStrategy' field.getOwner()
Gets the value of the 'owner' field.int
Gets the value of the 'partitionCount' field.Gets the value of the 'partitionerConfig' field.int
Gets the value of the 'persistenceType' field.Gets the value of the 'pushStreamSourceAddress' field.boolean
Gets the value of the 'readComputationEnabled' field.long
Gets the value of the 'readQuotaInCU' field.int
Gets the value of the 'readStrategy' field.int
Gets the value of the 'replicationFactor' field.int
Gets the value of the 'replicationMetadataVersionID' field.boolean
Gets the value of the 'rmdChunkingEnabled' field.int
Gets the value of the 'routingStrategy' field.org.apache.avro.Schema
boolean
Gets the value of the 'schemaAutoRegisteFromPushJobEnabled' field.boolean
Gets the value of the 'separateRealTimeTopicEnabled' field.org.apache.avro.specific.SpecificData
boolean
Gets the value of the 'storageNodeReadQuotaEnabled' field.long
Gets the value of the 'storageQuotaInByte' field.boolean
Gets the value of the 'storeMetadataSystemStoreEnabled' field.boolean
Gets the value of the 'storeMetaSystemStoreEnabled' field.Gets the value of the 'systemStores' field.Gets the value of the 'targetSwapRegion' field.int
Gets the value of the 'targetSwapRegionWaitTime' field.boolean
Gets the value of the 'unusedSchemaDeletionEnabled' field.Gets the value of the 'versions' field.getViews()
Gets the value of the 'views' field.boolean
Gets the value of the 'writeComputationEnabled' field.void
void
void
setAccessControlled
(boolean value) Sets the value of the 'accessControlled' field.void
setActiveActiveReplicationEnabled
(boolean value) Sets the value of the 'activeActiveReplicationEnabled' field.void
setApplyTargetVersionFilterForIncPush
(boolean value) Sets the value of the 'applyTargetVersionFilterForIncPush' field.void
setBackupStrategy
(int value) Sets the value of the 'backupStrategy' field.void
setBackupVersionRetentionMs
(long value) Sets the value of the 'backupVersionRetentionMs' field.void
setBatchGetLimit
(int value) Sets the value of the 'batchGetLimit' field.void
setBlobTransferEnabled
(boolean value) Sets the value of the 'blobTransferEnabled' field.void
setBootstrapToOnlineTimeoutInHours
(int value) Sets the value of the 'bootstrapToOnlineTimeoutInHours' field.void
setChunkingEnabled
(boolean value) Sets the value of the 'chunkingEnabled' field.void
setClientDecompressionEnabled
(boolean value) Sets the value of the 'clientDecompressionEnabled' field.void
setCompressionStrategy
(int value) Sets the value of the 'compressionStrategy' field.void
setCreatedTime
(long value) Sets the value of the 'createdTime' field.void
setCurrentVersion
(int value) Sets the value of the 'currentVersion' field.void
setDaVinciPushStatusStoreEnabled
(boolean value) Sets the value of the 'daVinciPushStatusStoreEnabled' field.void
setEnableReads
(boolean value) Sets the value of the 'enableReads' field.void
setEnableWrites
(boolean value) Sets the value of the 'enableWrites' field.void
setEtlConfig
(StoreETLConfig value) Sets the value of the 'etlConfig' field.void
setHybridConfig
(StoreHybridConfig value) Sets the value of the 'hybridConfig' field.void
setHybridStoreDiskQuotaEnabled
(boolean value) Sets the value of the 'hybridStoreDiskQuotaEnabled' field.void
setIncrementalPushEnabled
(boolean value) Sets the value of the 'incrementalPushEnabled' field.void
setIncrementalPushPolicy
(int value) Sets the value of the 'incrementalPushPolicy' field.void
setIsDaVinciHeartBeatReported
(boolean value) Sets the value of the 'isDaVinciHeartBeatReported' field.void
setLargestUsedVersionNumber
(int value) Sets the value of the 'largestUsedVersionNumber' field.void
setLatestSuperSetValueSchemaId
(int value) Sets the value of the 'latestSuperSetValueSchemaId' field.void
setLatestVersionPromoteToCurrentTimestamp
(long value) Sets the value of the 'latestVersionPromoteToCurrentTimestamp' field.void
setLeaderFollowerModelEnabled
(boolean value) Sets the value of the 'leaderFollowerModelEnabled' field.void
setLowWatermark
(long value) Sets the value of the 'lowWatermark' field.void
setMaxCompactionLagSeconds
(long value) Sets the value of the 'maxCompactionLagSeconds' field.void
setMaxNearlineRecordSizeBytes
(int value) Sets the value of the 'maxNearlineRecordSizeBytes' field.void
setMaxRecordSizeBytes
(int value) Sets the value of the 'maxRecordSizeBytes' field.void
setMigrating
(boolean value) Sets the value of the 'migrating' field.void
setMigrationDuplicateStore
(boolean value) Sets the value of the 'migrationDuplicateStore' field.void
setMinCompactionLagSeconds
(long value) Sets the value of the 'minCompactionLagSeconds' field.void
setName
(CharSequence value) Sets the value of the 'name' field.void
setNativeReplicationEnabled
(boolean value) Sets the value of the 'nativeReplicationEnabled' field.void
Sets the value of the 'nativeReplicationSourceFabric' field.void
setNearlineProducerCompressionEnabled
(boolean value) Sets the value of the 'nearlineProducerCompressionEnabled' field.void
setNearlineProducerCountPerWriter
(int value) Sets the value of the 'nearlineProducerCountPerWriter' field.void
setNumVersionsToPreserve
(int value) Sets the value of the 'numVersionsToPreserve' field.void
setOfflinePushStrategy
(int value) Sets the value of the 'offlinePushStrategy' field.void
setOwner
(CharSequence value) Sets the value of the 'owner' field.void
setPartitionCount
(int value) Sets the value of the 'partitionCount' field.void
Sets the value of the 'partitionerConfig' field.void
setPersistenceType
(int value) Sets the value of the 'persistenceType' field.void
Sets the value of the 'pushStreamSourceAddress' field.void
setReadComputationEnabled
(boolean value) Sets the value of the 'readComputationEnabled' field.void
setReadQuotaInCU
(long value) Sets the value of the 'readQuotaInCU' field.void
setReadStrategy
(int value) Sets the value of the 'readStrategy' field.void
setReplicationFactor
(int value) Sets the value of the 'replicationFactor' field.void
setReplicationMetadataVersionID
(int value) Sets the value of the 'replicationMetadataVersionID' field.void
setRmdChunkingEnabled
(boolean value) Sets the value of the 'rmdChunkingEnabled' field.void
setRoutingStrategy
(int value) Sets the value of the 'routingStrategy' field.void
setSchemaAutoRegisteFromPushJobEnabled
(boolean value) Sets the value of the 'schemaAutoRegisteFromPushJobEnabled' field.void
setSeparateRealTimeTopicEnabled
(boolean value) Sets the value of the 'separateRealTimeTopicEnabled' field.void
setStorageNodeReadQuotaEnabled
(boolean value) Sets the value of the 'storageNodeReadQuotaEnabled' field.void
setStorageQuotaInByte
(long value) Sets the value of the 'storageQuotaInByte' field.void
setStoreMetadataSystemStoreEnabled
(boolean value) Sets the value of the 'storeMetadataSystemStoreEnabled' field.void
setStoreMetaSystemStoreEnabled
(boolean value) Sets the value of the 'storeMetaSystemStoreEnabled' field.void
Sets the value of the 'systemStores' field.void
setTargetSwapRegion
(CharSequence value) Sets the value of the 'targetSwapRegion' field.void
setTargetSwapRegionWaitTime
(int value) Sets the value of the 'targetSwapRegionWaitTime' field.void
setUnusedSchemaDeletionEnabled
(boolean value) Sets the value of the 'unusedSchemaDeletionEnabled' field.void
setVersions
(List<StoreVersion> value) Sets the value of the 'versions' field.void
setViews
(Map<CharSequence, StoreViewConfig> value) Sets the value of the 'views' field.void
setWriteComputationEnabled
(boolean value) Sets the value of the 'writeComputationEnabled' field.void
Methods inherited from class org.apache.avro.specific.SpecificRecordBase
compareTo, customDecode, customEncode, equals, get, getConversion, getConversion, hasCustomCoders, hashCode, put, toString
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.apache.avro.generic.GenericRecord
hasField
-
Field Details
-
SCHEMA$
public static final org.apache.avro.Schema SCHEMA$ -
name
Store name. -
owner
Owner of this store. -
createdTime
public long createdTimeTimestamp when this store was created. -
currentVersion
public int currentVersionThe number of version which is used currently. -
partitionCount
public int partitionCountDefault partition count for all of versions in this store. Once first version become online, the number will be assigned. -
lowWatermark
public long lowWatermarkEOIP control message timestamp of the most recent incremental push that has been marked successful -
enableWrites
public boolean enableWritesIf a store is disabled from writing, new version can not be created for it. -
enableReads
public boolean enableReadsIf a store is disabled from being read, none of versions under this store could serve read requests. -
storageQuotaInByte
public long storageQuotaInByteMaximum capacity a store version is able to have, and default is 20GB -
persistenceType
public int persistenceTypeType of persistence storage engine, and default is 'ROCKS_DB' -
routingStrategy
public int routingStrategyHow to route the key to partition, and default is 'CONSISTENT_HASH' -
readStrategy
public int readStrategyHow to read data from multiple replications, and default is 'ANY_OF_ONLINE' -
offlinePushStrategy
public int offlinePushStrategyWhen doing off-line push, how to decide the data is ready to serve, and default is 'WAIT_N_MINUS_ONE_REPLCIA_PER_PARTITION' -
largestUsedVersionNumber
public int largestUsedVersionNumberThe largest version number ever used before for this store. -
readQuotaInCU
public long readQuotaInCUQuota for read request hit this store. Measurement is capacity unit. -
hybridConfig
Properties related to Hybrid Store behavior. If absent (null), then the store is not hybrid. -
views
A map of views which describe and configure a downstream view of a venice store. Keys in this map are for convenience of managing configs. -
accessControlled
public boolean accessControlledStore-level ACL switch. When disabled, Venice Router should accept every request. -
compressionStrategy
public int compressionStrategyStrategy used to compress/decompress Record's value, and default is 'NO_OP' -
clientDecompressionEnabled
public boolean clientDecompressionEnabledle/Disable client-side record decompression (default: true) -
chunkingEnabled
public boolean chunkingEnabledWhether current store supports large value (typically more than 1MB). By default, the chunking feature is disabled. -
rmdChunkingEnabled
public boolean rmdChunkingEnabledWhether current store supports large replication metadata (typically more than 1MB). By default, the chunking feature is disabled. -
batchGetLimit
public int batchGetLimitBatch get key number limit, and Venice will use cluster-level config if it is not positive. -
numVersionsToPreserve
public int numVersionsToPreserveHow many versions this store preserve at most. By default it's 0 means we use the cluster level config to determine how many version is preserved. -
incrementalPushEnabled
public boolean incrementalPushEnabledFlag to see if the store supports incremental push or not -
separateRealTimeTopicEnabled
public boolean separateRealTimeTopicEnabledFlag to see if the store supports separate real-time topic for incremental push. -
migrating
public boolean migratingWhether or not the store is in the process of migration. -
writeComputationEnabled
public boolean writeComputationEnabledWhether or not write-path computation feature is enabled for this store. -
readComputationEnabled
public boolean readComputationEnabledWhether read-path computation is enabled for this store. -
bootstrapToOnlineTimeoutInHours
public int bootstrapToOnlineTimeoutInHoursMaximum number of hours allowed for the store to transition from bootstrap to online state. -
leaderFollowerModelEnabled
public boolean leaderFollowerModelEnabledWhether or not to use leader follower state transition model for upcoming version. -
nativeReplicationEnabled
public boolean nativeReplicationEnabledWhether or not native should be enabled for this store. Will only successfully apply if leaderFollowerModelEnabled is also true either in this update or a previous version of the store. -
replicationMetadataVersionID
public int replicationMetadataVersionIDRMD (Replication metadata) version ID on the store-level. Default -1 means NOT_SET and the cluster-level RMD version ID should be used for stores. -
pushStreamSourceAddress
Address to the kafka broker which holds the source of truth topic for this store version. -
backupStrategy
public int backupStrategyStrategies to store backup versions, and default is 'DELETE_ON_NEW_PUSH_START' -
schemaAutoRegisteFromPushJobEnabled
public boolean schemaAutoRegisteFromPushJobEnabledWhether or not value schema auto registration enabled from push job for this store. -
latestSuperSetValueSchemaId
public int latestSuperSetValueSchemaIdFor read compute stores with auto super-set schema enabled, stores the latest super-set value schema ID. -
hybridStoreDiskQuotaEnabled
public boolean hybridStoreDiskQuotaEnabledWhether or not storage disk quota is enabled for a hybrid store. This store config cannot be enabled until the routers and servers in the corresponding cluster are upgraded to the right version: 0.2.249 or above for routers and servers. -
storeMetadataSystemStoreEnabled
public boolean storeMetadataSystemStoreEnabledWhether or not the store metadata system store is enabled for this store. -
etlConfig
Properties related to ETL Store behavior. -
partitionerConfig
-
incrementalPushPolicy
public int incrementalPushPolicyIncremental Push Policy to reconcile with real time pushes, and default is 'PUSH_TO_VERSION_TOPIC' -
latestVersionPromoteToCurrentTimestamp
public long latestVersionPromoteToCurrentTimestampThis is used to track the time when a new version is promoted to current version. For now, it is mostly to decide whether a backup version can be removed or not based on retention. For the existing store before this code change, it will be set to be current timestamp. -
backupVersionRetentionMs
public long backupVersionRetentionMsBackup retention time, and if it is not set (-1), Venice Controller will use the default configured retention.ConfigKeys.CONTROLLER_BACKUP_VERSION_DEFAULT_RETENTION_MS
. -
replicationFactor
public int replicationFactorThe number of replica each store version will keep. -
migrationDuplicateStore
public boolean migrationDuplicateStoreWhether or not the store is a duplicate store in the process of migration. -
nativeReplicationSourceFabric
The source fabric name to be uses in native replication. Remote consumption will happen from kafka in this fabric. -
daVinciPushStatusStoreEnabled
public boolean daVinciPushStatusStoreEnabledWhether or not davinci push status store is enabled. -
storeMetaSystemStoreEnabled
public boolean storeMetaSystemStoreEnabledWhether or not the store meta system store is enabled for this store. -
activeActiveReplicationEnabled
public boolean activeActiveReplicationEnabledWhether or not active/active replication is enabled for hybrid stores; eventually this config will replace native replication flag, when all stores are on A/A -
applyTargetVersionFilterForIncPush
public boolean applyTargetVersionFilterForIncPushWhether or not the target version field in Kafka messages will be used in increment push to RT policy -
minCompactionLagSeconds
public long minCompactionLagSecondsStore level min compaction lag config and if not specified, it will use the global config for version topics -
maxCompactionLagSeconds
public long maxCompactionLagSecondsStore level max compaction lag config and if not specified, 'max.compaction.lag.ms' config won't be setup in the corresponding version topics -
maxRecordSizeBytes
public int maxRecordSizeBytesStore-level max record size in bytes. If not specified (-1), the controller config 'default.max.record.size.bytes' (100MB default) will be backfilled -
maxNearlineRecordSizeBytes
public int maxNearlineRecordSizeBytesStore-level max record size in bytes for nearline jobs with partial updates. If not specified (-1), the server config 'default.max.record.size.bytes' (100MB default) will be backfilled. This may converge with maxRecordSizeBytes in the future -
unusedSchemaDeletionEnabled
public boolean unusedSchemaDeletionEnabledStore level config to indicate whether unused schema deletion is enabled or not. -
versions
List of non-retired versions. It's currently sorted and there is code run under the assumption that the last element in the list is the largest. Check out {VeniceHelixAdmin#getIncrementalPushVersion}, and please make it in mind if you want to change this logic -
systemStores
This field is used to maintain a mapping between each type of system store and the corresponding distinct properties -
storageNodeReadQuotaEnabled
public boolean storageNodeReadQuotaEnabledControls the storage node read quota enforcement for the given Venice store -
blobTransferEnabled
public boolean blobTransferEnabledFlag to indicate if the blob transfer is allowed or not -
nearlineProducerCompressionEnabled
public boolean nearlineProducerCompressionEnabledFlag to control whether the producer in Server for near-line workload will enable compression or not -
nearlineProducerCountPerWriter
public int nearlineProducerCountPerWriterHow many producers will be used for the nearline producer in Server to improve producing throughput -
targetSwapRegion
Controls what region to swap in the current version during target colo push -
targetSwapRegionWaitTime
public int targetSwapRegionWaitTimeControls how long to wait in minutes before swapping the version on the regions -
isDaVinciHeartBeatReported
public boolean isDaVinciHeartBeatReportedFlag to indicate whether DVC is bootstrapping and sending heartbeats
-
-
Constructor Details
-
StoreProperties
public StoreProperties()Default constructor. Note that this does not initialize fields to their default values from the schema. If that is desired then one should usenewBuilder()
. -
StoreProperties
public StoreProperties(CharSequence name, CharSequence owner, Long createdTime, Integer currentVersion, Integer partitionCount, Long lowWatermark, Boolean enableWrites, Boolean enableReads, Long storageQuotaInByte, Integer persistenceType, Integer routingStrategy, Integer readStrategy, Integer offlinePushStrategy, Integer largestUsedVersionNumber, Long readQuotaInCU, StoreHybridConfig hybridConfig, Map<CharSequence, StoreViewConfig> views, Boolean accessControlled, Integer compressionStrategy, Boolean clientDecompressionEnabled, Boolean chunkingEnabled, Boolean rmdChunkingEnabled, Integer batchGetLimit, Integer numVersionsToPreserve, Boolean incrementalPushEnabled, Boolean separateRealTimeTopicEnabled, Boolean migrating, Boolean writeComputationEnabled, Boolean readComputationEnabled, Integer bootstrapToOnlineTimeoutInHours, Boolean leaderFollowerModelEnabled, Boolean nativeReplicationEnabled, Integer replicationMetadataVersionID, CharSequence pushStreamSourceAddress, Integer backupStrategy, Boolean schemaAutoRegisteFromPushJobEnabled, Integer latestSuperSetValueSchemaId, Boolean hybridStoreDiskQuotaEnabled, Boolean storeMetadataSystemStoreEnabled, StoreETLConfig etlConfig, StorePartitionerConfig partitionerConfig, Integer incrementalPushPolicy, Long latestVersionPromoteToCurrentTimestamp, Long backupVersionRetentionMs, Integer replicationFactor, Boolean migrationDuplicateStore, CharSequence nativeReplicationSourceFabric, Boolean daVinciPushStatusStoreEnabled, Boolean storeMetaSystemStoreEnabled, Boolean activeActiveReplicationEnabled, Boolean applyTargetVersionFilterForIncPush, Long minCompactionLagSeconds, Long maxCompactionLagSeconds, Integer maxRecordSizeBytes, Integer maxNearlineRecordSizeBytes, Boolean unusedSchemaDeletionEnabled, List<StoreVersion> versions, Map<CharSequence, SystemStoreProperties> systemStores, Boolean storageNodeReadQuotaEnabled, Boolean blobTransferEnabled, Boolean nearlineProducerCompressionEnabled, Integer nearlineProducerCountPerWriter, CharSequence targetSwapRegion, Integer targetSwapRegionWaitTime, Boolean isDaVinciHeartBeatReported) All-args constructor.- Parameters:
name
- Store name.owner
- Owner of this store.createdTime
- Timestamp when this store was created.currentVersion
- The number of version which is used currently.partitionCount
- Default partition count for all of versions in this store. Once first version become online, the number will be assigned.lowWatermark
- EOIP control message timestamp of the most recent incremental push that has been marked successfulenableWrites
- If a store is disabled from writing, new version can not be created for it.enableReads
- If a store is disabled from being read, none of versions under this store could serve read requests.storageQuotaInByte
- Maximum capacity a store version is able to have, and default is 20GBpersistenceType
- Type of persistence storage engine, and default is 'ROCKS_DB'routingStrategy
- How to route the key to partition, and default is 'CONSISTENT_HASH'readStrategy
- How to read data from multiple replications, and default is 'ANY_OF_ONLINE'offlinePushStrategy
- When doing off-line push, how to decide the data is ready to serve, and default is 'WAIT_N_MINUS_ONE_REPLCIA_PER_PARTITION'largestUsedVersionNumber
- The largest version number ever used before for this store.readQuotaInCU
- Quota for read request hit this store. Measurement is capacity unit.hybridConfig
- Properties related to Hybrid Store behavior. If absent (null), then the store is not hybrid.views
- A map of views which describe and configure a downstream view of a venice store. Keys in this map are for convenience of managing configs.accessControlled
- Store-level ACL switch. When disabled, Venice Router should accept every request.compressionStrategy
- Strategy used to compress/decompress Record's value, and default is 'NO_OP'clientDecompressionEnabled
- le/Disable client-side record decompression (default: true)chunkingEnabled
- Whether current store supports large value (typically more than 1MB). By default, the chunking feature is disabled.rmdChunkingEnabled
- Whether current store supports large replication metadata (typically more than 1MB). By default, the chunking feature is disabled.batchGetLimit
- Batch get key number limit, and Venice will use cluster-level config if it is not positive.numVersionsToPreserve
- How many versions this store preserve at most. By default it's 0 means we use the cluster level config to determine how many version is preserved.incrementalPushEnabled
- Flag to see if the store supports incremental push or notseparateRealTimeTopicEnabled
- Flag to see if the store supports separate real-time topic for incremental push.migrating
- Whether or not the store is in the process of migration.writeComputationEnabled
- Whether or not write-path computation feature is enabled for this store.readComputationEnabled
- Whether read-path computation is enabled for this store.bootstrapToOnlineTimeoutInHours
- Maximum number of hours allowed for the store to transition from bootstrap to online state.leaderFollowerModelEnabled
- Whether or not to use leader follower state transition model for upcoming version.nativeReplicationEnabled
- Whether or not native should be enabled for this store. Will only successfully apply if leaderFollowerModelEnabled is also true either in this update or a previous version of the store.replicationMetadataVersionID
- RMD (Replication metadata) version ID on the store-level. Default -1 means NOT_SET and the cluster-level RMD version ID should be used for stores.pushStreamSourceAddress
- Address to the kafka broker which holds the source of truth topic for this store version.backupStrategy
- Strategies to store backup versions, and default is 'DELETE_ON_NEW_PUSH_START'schemaAutoRegisteFromPushJobEnabled
- Whether or not value schema auto registration enabled from push job for this store.latestSuperSetValueSchemaId
- For read compute stores with auto super-set schema enabled, stores the latest super-set value schema ID.hybridStoreDiskQuotaEnabled
- Whether or not storage disk quota is enabled for a hybrid store. This store config cannot be enabled until the routers and servers in the corresponding cluster are upgraded to the right version: 0.2.249 or above for routers and servers.storeMetadataSystemStoreEnabled
- Whether or not the store metadata system store is enabled for this store.etlConfig
- Properties related to ETL Store behavior.partitionerConfig
- The new value for partitionerConfigincrementalPushPolicy
- Incremental Push Policy to reconcile with real time pushes, and default is 'PUSH_TO_VERSION_TOPIC'latestVersionPromoteToCurrentTimestamp
- This is used to track the time when a new version is promoted to current version. For now, it is mostly to decide whether a backup version can be removed or not based on retention. For the existing store before this code change, it will be set to be current timestamp.backupVersionRetentionMs
- Backup retention time, and if it is not set (-1), Venice Controller will use the default configured retention.ConfigKeys.CONTROLLER_BACKUP_VERSION_DEFAULT_RETENTION_MS
.replicationFactor
- The number of replica each store version will keep.migrationDuplicateStore
- Whether or not the store is a duplicate store in the process of migration.nativeReplicationSourceFabric
- The source fabric name to be uses in native replication. Remote consumption will happen from kafka in this fabric.daVinciPushStatusStoreEnabled
- Whether or not davinci push status store is enabled.storeMetaSystemStoreEnabled
- Whether or not the store meta system store is enabled for this store.activeActiveReplicationEnabled
- Whether or not active/active replication is enabled for hybrid stores; eventually this config will replace native replication flag, when all stores are on A/AapplyTargetVersionFilterForIncPush
- Whether or not the target version field in Kafka messages will be used in increment push to RT policyminCompactionLagSeconds
- Store level min compaction lag config and if not specified, it will use the global config for version topicsmaxCompactionLagSeconds
- Store level max compaction lag config and if not specified, 'max.compaction.lag.ms' config won't be setup in the corresponding version topicsmaxRecordSizeBytes
- Store-level max record size in bytes. If not specified (-1), the controller config 'default.max.record.size.bytes' (100MB default) will be backfilledmaxNearlineRecordSizeBytes
- Store-level max record size in bytes for nearline jobs with partial updates. If not specified (-1), the server config 'default.max.record.size.bytes' (100MB default) will be backfilled. This may converge with maxRecordSizeBytes in the futureunusedSchemaDeletionEnabled
- Store level config to indicate whether unused schema deletion is enabled or not.versions
- List of non-retired versions. It's currently sorted and there is code run under the assumption that the last element in the list is the largest. Check out {VeniceHelixAdmin#getIncrementalPushVersion}, and please make it in mind if you want to change this logicsystemStores
- This field is used to maintain a mapping between each type of system store and the corresponding distinct propertiesstorageNodeReadQuotaEnabled
- Controls the storage node read quota enforcement for the given Venice storeblobTransferEnabled
- Flag to indicate if the blob transfer is allowed or notnearlineProducerCompressionEnabled
- Flag to control whether the producer in Server for near-line workload will enable compression or notnearlineProducerCountPerWriter
- How many producers will be used for the nearline producer in Server to improve producing throughputtargetSwapRegion
- Controls what region to swap in the current version during target colo pushtargetSwapRegionWaitTime
- Controls how long to wait in minutes before swapping the version on the regionsisDaVinciHeartBeatReported
- Flag to indicate whether DVC is bootstrapping and sending heartbeats
-
-
Method Details
-
getClassSchema
public static org.apache.avro.Schema getClassSchema() -
getSpecificData
public org.apache.avro.specific.SpecificData getSpecificData()- Overrides:
getSpecificData
in classorg.apache.avro.specific.SpecificRecordBase
-
getSchema
public org.apache.avro.Schema getSchema()- Specified by:
getSchema
in interfaceorg.apache.avro.generic.GenericContainer
- Specified by:
getSchema
in classorg.apache.avro.specific.SpecificRecordBase
-
get
- Specified by:
get
in interfaceorg.apache.avro.generic.IndexedRecord
- Specified by:
get
in classorg.apache.avro.specific.SpecificRecordBase
-
put
- Specified by:
put
in interfaceorg.apache.avro.generic.IndexedRecord
- Specified by:
put
in classorg.apache.avro.specific.SpecificRecordBase
-
getName
Gets the value of the 'name' field.- Returns:
- Store name.
-
setName
Sets the value of the 'name' field. Store name.- Parameters:
value
- the value to set.
-
getOwner
Gets the value of the 'owner' field.- Returns:
- Owner of this store.
-
setOwner
Sets the value of the 'owner' field. Owner of this store.- Parameters:
value
- the value to set.
-
getCreatedTime
public long getCreatedTime()Gets the value of the 'createdTime' field.- Returns:
- Timestamp when this store was created.
-
setCreatedTime
public void setCreatedTime(long value) Sets the value of the 'createdTime' field. Timestamp when this store was created.- Parameters:
value
- the value to set.
-
getCurrentVersion
public int getCurrentVersion()Gets the value of the 'currentVersion' field.- Returns:
- The number of version which is used currently.
-
setCurrentVersion
public void setCurrentVersion(int value) Sets the value of the 'currentVersion' field. The number of version which is used currently.- Parameters:
value
- the value to set.
-
getPartitionCount
public int getPartitionCount()Gets the value of the 'partitionCount' field.- Returns:
- Default partition count for all of versions in this store. Once first version become online, the number will be assigned.
-
setPartitionCount
public void setPartitionCount(int value) Sets the value of the 'partitionCount' field. Default partition count for all of versions in this store. Once first version become online, the number will be assigned.- Parameters:
value
- the value to set.
-
getLowWatermark
public long getLowWatermark()Gets the value of the 'lowWatermark' field.- Returns:
- EOIP control message timestamp of the most recent incremental push that has been marked successful
-
setLowWatermark
public void setLowWatermark(long value) Sets the value of the 'lowWatermark' field. EOIP control message timestamp of the most recent incremental push that has been marked successful- Parameters:
value
- the value to set.
-
getEnableWrites
public boolean getEnableWrites()Gets the value of the 'enableWrites' field.- Returns:
- If a store is disabled from writing, new version can not be created for it.
-
setEnableWrites
public void setEnableWrites(boolean value) Sets the value of the 'enableWrites' field. If a store is disabled from writing, new version can not be created for it.- Parameters:
value
- the value to set.
-
getEnableReads
public boolean getEnableReads()Gets the value of the 'enableReads' field.- Returns:
- If a store is disabled from being read, none of versions under this store could serve read requests.
-
setEnableReads
public void setEnableReads(boolean value) Sets the value of the 'enableReads' field. If a store is disabled from being read, none of versions under this store could serve read requests.- Parameters:
value
- the value to set.
-
getStorageQuotaInByte
public long getStorageQuotaInByte()Gets the value of the 'storageQuotaInByte' field.- Returns:
- Maximum capacity a store version is able to have, and default is 20GB
-
setStorageQuotaInByte
public void setStorageQuotaInByte(long value) Sets the value of the 'storageQuotaInByte' field. Maximum capacity a store version is able to have, and default is 20GB- Parameters:
value
- the value to set.
-
getPersistenceType
public int getPersistenceType()Gets the value of the 'persistenceType' field.- Returns:
- Type of persistence storage engine, and default is 'ROCKS_DB'
-
setPersistenceType
public void setPersistenceType(int value) Sets the value of the 'persistenceType' field. Type of persistence storage engine, and default is 'ROCKS_DB'- Parameters:
value
- the value to set.
-
getRoutingStrategy
public int getRoutingStrategy()Gets the value of the 'routingStrategy' field.- Returns:
- How to route the key to partition, and default is 'CONSISTENT_HASH'
-
setRoutingStrategy
public void setRoutingStrategy(int value) Sets the value of the 'routingStrategy' field. How to route the key to partition, and default is 'CONSISTENT_HASH'- Parameters:
value
- the value to set.
-
getReadStrategy
public int getReadStrategy()Gets the value of the 'readStrategy' field.- Returns:
- How to read data from multiple replications, and default is 'ANY_OF_ONLINE'
-
setReadStrategy
public void setReadStrategy(int value) Sets the value of the 'readStrategy' field. How to read data from multiple replications, and default is 'ANY_OF_ONLINE'- Parameters:
value
- the value to set.
-
getOfflinePushStrategy
public int getOfflinePushStrategy()Gets the value of the 'offlinePushStrategy' field.- Returns:
- When doing off-line push, how to decide the data is ready to serve, and default is 'WAIT_N_MINUS_ONE_REPLCIA_PER_PARTITION'
-
setOfflinePushStrategy
public void setOfflinePushStrategy(int value) Sets the value of the 'offlinePushStrategy' field. When doing off-line push, how to decide the data is ready to serve, and default is 'WAIT_N_MINUS_ONE_REPLCIA_PER_PARTITION'- Parameters:
value
- the value to set.
-
getLargestUsedVersionNumber
public int getLargestUsedVersionNumber()Gets the value of the 'largestUsedVersionNumber' field.- Returns:
- The largest version number ever used before for this store.
-
setLargestUsedVersionNumber
public void setLargestUsedVersionNumber(int value) Sets the value of the 'largestUsedVersionNumber' field. The largest version number ever used before for this store.- Parameters:
value
- the value to set.
-
getReadQuotaInCU
public long getReadQuotaInCU()Gets the value of the 'readQuotaInCU' field.- Returns:
- Quota for read request hit this store. Measurement is capacity unit.
-
setReadQuotaInCU
public void setReadQuotaInCU(long value) Sets the value of the 'readQuotaInCU' field. Quota for read request hit this store. Measurement is capacity unit.- Parameters:
value
- the value to set.
-
getHybridConfig
Gets the value of the 'hybridConfig' field.- Returns:
- Properties related to Hybrid Store behavior. If absent (null), then the store is not hybrid.
-
setHybridConfig
Sets the value of the 'hybridConfig' field. Properties related to Hybrid Store behavior. If absent (null), then the store is not hybrid.- Parameters:
value
- the value to set.
-
getViews
Gets the value of the 'views' field.- Returns:
- A map of views which describe and configure a downstream view of a venice store. Keys in this map are for convenience of managing configs.
-
setViews
Sets the value of the 'views' field. A map of views which describe and configure a downstream view of a venice store. Keys in this map are for convenience of managing configs.- Parameters:
value
- the value to set.
-
getAccessControlled
public boolean getAccessControlled()Gets the value of the 'accessControlled' field.- Returns:
- Store-level ACL switch. When disabled, Venice Router should accept every request.
-
setAccessControlled
public void setAccessControlled(boolean value) Sets the value of the 'accessControlled' field. Store-level ACL switch. When disabled, Venice Router should accept every request.- Parameters:
value
- the value to set.
-
getCompressionStrategy
public int getCompressionStrategy()Gets the value of the 'compressionStrategy' field.- Returns:
- Strategy used to compress/decompress Record's value, and default is 'NO_OP'
-
setCompressionStrategy
public void setCompressionStrategy(int value) Sets the value of the 'compressionStrategy' field. Strategy used to compress/decompress Record's value, and default is 'NO_OP'- Parameters:
value
- the value to set.
-
getClientDecompressionEnabled
public boolean getClientDecompressionEnabled()Gets the value of the 'clientDecompressionEnabled' field.- Returns:
- le/Disable client-side record decompression (default: true)
-
setClientDecompressionEnabled
public void setClientDecompressionEnabled(boolean value) Sets the value of the 'clientDecompressionEnabled' field. le/Disable client-side record decompression (default: true)- Parameters:
value
- the value to set.
-
getChunkingEnabled
public boolean getChunkingEnabled()Gets the value of the 'chunkingEnabled' field.- Returns:
- Whether current store supports large value (typically more than 1MB). By default, the chunking feature is disabled.
-
setChunkingEnabled
public void setChunkingEnabled(boolean value) Sets the value of the 'chunkingEnabled' field. Whether current store supports large value (typically more than 1MB). By default, the chunking feature is disabled.- Parameters:
value
- the value to set.
-
getRmdChunkingEnabled
public boolean getRmdChunkingEnabled()Gets the value of the 'rmdChunkingEnabled' field.- Returns:
- Whether current store supports large replication metadata (typically more than 1MB). By default, the chunking feature is disabled.
-
setRmdChunkingEnabled
public void setRmdChunkingEnabled(boolean value) Sets the value of the 'rmdChunkingEnabled' field. Whether current store supports large replication metadata (typically more than 1MB). By default, the chunking feature is disabled.- Parameters:
value
- the value to set.
-
getBatchGetLimit
public int getBatchGetLimit()Gets the value of the 'batchGetLimit' field.- Returns:
- Batch get key number limit, and Venice will use cluster-level config if it is not positive.
-
setBatchGetLimit
public void setBatchGetLimit(int value) Sets the value of the 'batchGetLimit' field. Batch get key number limit, and Venice will use cluster-level config if it is not positive.- Parameters:
value
- the value to set.
-
getNumVersionsToPreserve
public int getNumVersionsToPreserve()Gets the value of the 'numVersionsToPreserve' field.- Returns:
- How many versions this store preserve at most. By default it's 0 means we use the cluster level config to determine how many version is preserved.
-
setNumVersionsToPreserve
public void setNumVersionsToPreserve(int value) Sets the value of the 'numVersionsToPreserve' field. How many versions this store preserve at most. By default it's 0 means we use the cluster level config to determine how many version is preserved.- Parameters:
value
- the value to set.
-
getIncrementalPushEnabled
public boolean getIncrementalPushEnabled()Gets the value of the 'incrementalPushEnabled' field.- Returns:
- Flag to see if the store supports incremental push or not
-
setIncrementalPushEnabled
public void setIncrementalPushEnabled(boolean value) Sets the value of the 'incrementalPushEnabled' field. Flag to see if the store supports incremental push or not- Parameters:
value
- the value to set.
-
getSeparateRealTimeTopicEnabled
public boolean getSeparateRealTimeTopicEnabled()Gets the value of the 'separateRealTimeTopicEnabled' field.- Returns:
- Flag to see if the store supports separate real-time topic for incremental push.
-
setSeparateRealTimeTopicEnabled
public void setSeparateRealTimeTopicEnabled(boolean value) Sets the value of the 'separateRealTimeTopicEnabled' field. Flag to see if the store supports separate real-time topic for incremental push.- Parameters:
value
- the value to set.
-
getMigrating
public boolean getMigrating()Gets the value of the 'migrating' field.- Returns:
- Whether or not the store is in the process of migration.
-
setMigrating
public void setMigrating(boolean value) Sets the value of the 'migrating' field. Whether or not the store is in the process of migration.- Parameters:
value
- the value to set.
-
getWriteComputationEnabled
public boolean getWriteComputationEnabled()Gets the value of the 'writeComputationEnabled' field.- Returns:
- Whether or not write-path computation feature is enabled for this store.
-
setWriteComputationEnabled
public void setWriteComputationEnabled(boolean value) Sets the value of the 'writeComputationEnabled' field. Whether or not write-path computation feature is enabled for this store.- Parameters:
value
- the value to set.
-
getReadComputationEnabled
public boolean getReadComputationEnabled()Gets the value of the 'readComputationEnabled' field.- Returns:
- Whether read-path computation is enabled for this store.
-
setReadComputationEnabled
public void setReadComputationEnabled(boolean value) Sets the value of the 'readComputationEnabled' field. Whether read-path computation is enabled for this store.- Parameters:
value
- the value to set.
-
getBootstrapToOnlineTimeoutInHours
public int getBootstrapToOnlineTimeoutInHours()Gets the value of the 'bootstrapToOnlineTimeoutInHours' field.- Returns:
- Maximum number of hours allowed for the store to transition from bootstrap to online state.
-
setBootstrapToOnlineTimeoutInHours
public void setBootstrapToOnlineTimeoutInHours(int value) Sets the value of the 'bootstrapToOnlineTimeoutInHours' field. Maximum number of hours allowed for the store to transition from bootstrap to online state.- Parameters:
value
- the value to set.
-
getLeaderFollowerModelEnabled
public boolean getLeaderFollowerModelEnabled()Gets the value of the 'leaderFollowerModelEnabled' field.- Returns:
- Whether or not to use leader follower state transition model for upcoming version.
-
setLeaderFollowerModelEnabled
public void setLeaderFollowerModelEnabled(boolean value) Sets the value of the 'leaderFollowerModelEnabled' field. Whether or not to use leader follower state transition model for upcoming version.- Parameters:
value
- the value to set.
-
getNativeReplicationEnabled
public boolean getNativeReplicationEnabled()Gets the value of the 'nativeReplicationEnabled' field.- Returns:
- Whether or not native should be enabled for this store. Will only successfully apply if leaderFollowerModelEnabled is also true either in this update or a previous version of the store.
-
setNativeReplicationEnabled
public void setNativeReplicationEnabled(boolean value) Sets the value of the 'nativeReplicationEnabled' field. Whether or not native should be enabled for this store. Will only successfully apply if leaderFollowerModelEnabled is also true either in this update or a previous version of the store.- Parameters:
value
- the value to set.
-
getReplicationMetadataVersionID
public int getReplicationMetadataVersionID()Gets the value of the 'replicationMetadataVersionID' field.- Returns:
- RMD (Replication metadata) version ID on the store-level. Default -1 means NOT_SET and the cluster-level RMD version ID should be used for stores.
-
setReplicationMetadataVersionID
public void setReplicationMetadataVersionID(int value) Sets the value of the 'replicationMetadataVersionID' field. RMD (Replication metadata) version ID on the store-level. Default -1 means NOT_SET and the cluster-level RMD version ID should be used for stores.- Parameters:
value
- the value to set.
-
getPushStreamSourceAddress
Gets the value of the 'pushStreamSourceAddress' field.- Returns:
- Address to the kafka broker which holds the source of truth topic for this store version.
-
setPushStreamSourceAddress
Sets the value of the 'pushStreamSourceAddress' field. Address to the kafka broker which holds the source of truth topic for this store version.- Parameters:
value
- the value to set.
-
getBackupStrategy
public int getBackupStrategy()Gets the value of the 'backupStrategy' field.- Returns:
- Strategies to store backup versions, and default is 'DELETE_ON_NEW_PUSH_START'
-
setBackupStrategy
public void setBackupStrategy(int value) Sets the value of the 'backupStrategy' field. Strategies to store backup versions, and default is 'DELETE_ON_NEW_PUSH_START'- Parameters:
value
- the value to set.
-
getSchemaAutoRegisteFromPushJobEnabled
public boolean getSchemaAutoRegisteFromPushJobEnabled()Gets the value of the 'schemaAutoRegisteFromPushJobEnabled' field.- Returns:
- Whether or not value schema auto registration enabled from push job for this store.
-
setSchemaAutoRegisteFromPushJobEnabled
public void setSchemaAutoRegisteFromPushJobEnabled(boolean value) Sets the value of the 'schemaAutoRegisteFromPushJobEnabled' field. Whether or not value schema auto registration enabled from push job for this store.- Parameters:
value
- the value to set.
-
getLatestSuperSetValueSchemaId
public int getLatestSuperSetValueSchemaId()Gets the value of the 'latestSuperSetValueSchemaId' field.- Returns:
- For read compute stores with auto super-set schema enabled, stores the latest super-set value schema ID.
-
setLatestSuperSetValueSchemaId
public void setLatestSuperSetValueSchemaId(int value) Sets the value of the 'latestSuperSetValueSchemaId' field. For read compute stores with auto super-set schema enabled, stores the latest super-set value schema ID.- Parameters:
value
- the value to set.
-
getHybridStoreDiskQuotaEnabled
public boolean getHybridStoreDiskQuotaEnabled()Gets the value of the 'hybridStoreDiskQuotaEnabled' field.- Returns:
- Whether or not storage disk quota is enabled for a hybrid store. This store config cannot be enabled until the routers and servers in the corresponding cluster are upgraded to the right version: 0.2.249 or above for routers and servers.
-
setHybridStoreDiskQuotaEnabled
public void setHybridStoreDiskQuotaEnabled(boolean value) Sets the value of the 'hybridStoreDiskQuotaEnabled' field. Whether or not storage disk quota is enabled for a hybrid store. This store config cannot be enabled until the routers and servers in the corresponding cluster are upgraded to the right version: 0.2.249 or above for routers and servers.- Parameters:
value
- the value to set.
-
getStoreMetadataSystemStoreEnabled
public boolean getStoreMetadataSystemStoreEnabled()Gets the value of the 'storeMetadataSystemStoreEnabled' field.- Returns:
- Whether or not the store metadata system store is enabled for this store.
-
setStoreMetadataSystemStoreEnabled
public void setStoreMetadataSystemStoreEnabled(boolean value) Sets the value of the 'storeMetadataSystemStoreEnabled' field. Whether or not the store metadata system store is enabled for this store.- Parameters:
value
- the value to set.
-
getEtlConfig
Gets the value of the 'etlConfig' field.- Returns:
- Properties related to ETL Store behavior.
-
setEtlConfig
Sets the value of the 'etlConfig' field. Properties related to ETL Store behavior.- Parameters:
value
- the value to set.
-
getPartitionerConfig
Gets the value of the 'partitionerConfig' field.- Returns:
- The value of the 'partitionerConfig' field.
-
setPartitionerConfig
Sets the value of the 'partitionerConfig' field.- Parameters:
value
- the value to set.
-
getIncrementalPushPolicy
public int getIncrementalPushPolicy()Gets the value of the 'incrementalPushPolicy' field.- Returns:
- Incremental Push Policy to reconcile with real time pushes, and default is 'PUSH_TO_VERSION_TOPIC'
-
setIncrementalPushPolicy
public void setIncrementalPushPolicy(int value) Sets the value of the 'incrementalPushPolicy' field. Incremental Push Policy to reconcile with real time pushes, and default is 'PUSH_TO_VERSION_TOPIC'- Parameters:
value
- the value to set.
-
getLatestVersionPromoteToCurrentTimestamp
public long getLatestVersionPromoteToCurrentTimestamp()Gets the value of the 'latestVersionPromoteToCurrentTimestamp' field.- Returns:
- This is used to track the time when a new version is promoted to current version. For now, it is mostly to decide whether a backup version can be removed or not based on retention. For the existing store before this code change, it will be set to be current timestamp.
-
setLatestVersionPromoteToCurrentTimestamp
public void setLatestVersionPromoteToCurrentTimestamp(long value) Sets the value of the 'latestVersionPromoteToCurrentTimestamp' field. This is used to track the time when a new version is promoted to current version. For now, it is mostly to decide whether a backup version can be removed or not based on retention. For the existing store before this code change, it will be set to be current timestamp.- Parameters:
value
- the value to set.
-
getBackupVersionRetentionMs
public long getBackupVersionRetentionMs()Gets the value of the 'backupVersionRetentionMs' field.- Returns:
- Backup retention time, and if it is not set (-1), Venice Controller will use the default configured retention.
ConfigKeys.CONTROLLER_BACKUP_VERSION_DEFAULT_RETENTION_MS
.
-
setBackupVersionRetentionMs
public void setBackupVersionRetentionMs(long value) Sets the value of the 'backupVersionRetentionMs' field. Backup retention time, and if it is not set (-1), Venice Controller will use the default configured retention.ConfigKeys.CONTROLLER_BACKUP_VERSION_DEFAULT_RETENTION_MS
.- Parameters:
value
- the value to set.
-
getReplicationFactor
public int getReplicationFactor()Gets the value of the 'replicationFactor' field.- Returns:
- The number of replica each store version will keep.
-
setReplicationFactor
public void setReplicationFactor(int value) Sets the value of the 'replicationFactor' field. The number of replica each store version will keep.- Parameters:
value
- the value to set.
-
getMigrationDuplicateStore
public boolean getMigrationDuplicateStore()Gets the value of the 'migrationDuplicateStore' field.- Returns:
- Whether or not the store is a duplicate store in the process of migration.
-
setMigrationDuplicateStore
public void setMigrationDuplicateStore(boolean value) Sets the value of the 'migrationDuplicateStore' field. Whether or not the store is a duplicate store in the process of migration.- Parameters:
value
- the value to set.
-
getNativeReplicationSourceFabric
Gets the value of the 'nativeReplicationSourceFabric' field.- Returns:
- The source fabric name to be uses in native replication. Remote consumption will happen from kafka in this fabric.
-
setNativeReplicationSourceFabric
Sets the value of the 'nativeReplicationSourceFabric' field. The source fabric name to be uses in native replication. Remote consumption will happen from kafka in this fabric.- Parameters:
value
- the value to set.
-
getDaVinciPushStatusStoreEnabled
public boolean getDaVinciPushStatusStoreEnabled()Gets the value of the 'daVinciPushStatusStoreEnabled' field.- Returns:
- Whether or not davinci push status store is enabled.
-
setDaVinciPushStatusStoreEnabled
public void setDaVinciPushStatusStoreEnabled(boolean value) Sets the value of the 'daVinciPushStatusStoreEnabled' field. Whether or not davinci push status store is enabled.- Parameters:
value
- the value to set.
-
getStoreMetaSystemStoreEnabled
public boolean getStoreMetaSystemStoreEnabled()Gets the value of the 'storeMetaSystemStoreEnabled' field.- Returns:
- Whether or not the store meta system store is enabled for this store.
-
setStoreMetaSystemStoreEnabled
public void setStoreMetaSystemStoreEnabled(boolean value) Sets the value of the 'storeMetaSystemStoreEnabled' field. Whether or not the store meta system store is enabled for this store.- Parameters:
value
- the value to set.
-
getActiveActiveReplicationEnabled
public boolean getActiveActiveReplicationEnabled()Gets the value of the 'activeActiveReplicationEnabled' field.- Returns:
- Whether or not active/active replication is enabled for hybrid stores; eventually this config will replace native replication flag, when all stores are on A/A
-
setActiveActiveReplicationEnabled
public void setActiveActiveReplicationEnabled(boolean value) Sets the value of the 'activeActiveReplicationEnabled' field. Whether or not active/active replication is enabled for hybrid stores; eventually this config will replace native replication flag, when all stores are on A/A- Parameters:
value
- the value to set.
-
getApplyTargetVersionFilterForIncPush
public boolean getApplyTargetVersionFilterForIncPush()Gets the value of the 'applyTargetVersionFilterForIncPush' field.- Returns:
- Whether or not the target version field in Kafka messages will be used in increment push to RT policy
-
setApplyTargetVersionFilterForIncPush
public void setApplyTargetVersionFilterForIncPush(boolean value) Sets the value of the 'applyTargetVersionFilterForIncPush' field. Whether or not the target version field in Kafka messages will be used in increment push to RT policy- Parameters:
value
- the value to set.
-
getMinCompactionLagSeconds
public long getMinCompactionLagSeconds()Gets the value of the 'minCompactionLagSeconds' field.- Returns:
- Store level min compaction lag config and if not specified, it will use the global config for version topics
-
setMinCompactionLagSeconds
public void setMinCompactionLagSeconds(long value) Sets the value of the 'minCompactionLagSeconds' field. Store level min compaction lag config and if not specified, it will use the global config for version topics- Parameters:
value
- the value to set.
-
getMaxCompactionLagSeconds
public long getMaxCompactionLagSeconds()Gets the value of the 'maxCompactionLagSeconds' field.- Returns:
- Store level max compaction lag config and if not specified, 'max.compaction.lag.ms' config won't be setup in the corresponding version topics
-
setMaxCompactionLagSeconds
public void setMaxCompactionLagSeconds(long value) Sets the value of the 'maxCompactionLagSeconds' field. Store level max compaction lag config and if not specified, 'max.compaction.lag.ms' config won't be setup in the corresponding version topics- Parameters:
value
- the value to set.
-
getMaxRecordSizeBytes
public int getMaxRecordSizeBytes()Gets the value of the 'maxRecordSizeBytes' field.- Returns:
- Store-level max record size in bytes. If not specified (-1), the controller config 'default.max.record.size.bytes' (100MB default) will be backfilled
-
setMaxRecordSizeBytes
public void setMaxRecordSizeBytes(int value) Sets the value of the 'maxRecordSizeBytes' field. Store-level max record size in bytes. If not specified (-1), the controller config 'default.max.record.size.bytes' (100MB default) will be backfilled- Parameters:
value
- the value to set.
-
getMaxNearlineRecordSizeBytes
public int getMaxNearlineRecordSizeBytes()Gets the value of the 'maxNearlineRecordSizeBytes' field.- Returns:
- Store-level max record size in bytes for nearline jobs with partial updates. If not specified (-1), the server config 'default.max.record.size.bytes' (100MB default) will be backfilled. This may converge with maxRecordSizeBytes in the future
-
setMaxNearlineRecordSizeBytes
public void setMaxNearlineRecordSizeBytes(int value) Sets the value of the 'maxNearlineRecordSizeBytes' field. Store-level max record size in bytes for nearline jobs with partial updates. If not specified (-1), the server config 'default.max.record.size.bytes' (100MB default) will be backfilled. This may converge with maxRecordSizeBytes in the future- Parameters:
value
- the value to set.
-
getUnusedSchemaDeletionEnabled
public boolean getUnusedSchemaDeletionEnabled()Gets the value of the 'unusedSchemaDeletionEnabled' field.- Returns:
- Store level config to indicate whether unused schema deletion is enabled or not.
-
setUnusedSchemaDeletionEnabled
public void setUnusedSchemaDeletionEnabled(boolean value) Sets the value of the 'unusedSchemaDeletionEnabled' field. Store level config to indicate whether unused schema deletion is enabled or not.- Parameters:
value
- the value to set.
-
getVersions
Gets the value of the 'versions' field.- Returns:
- List of non-retired versions. It's currently sorted and there is code run under the assumption that the last element in the list is the largest. Check out {VeniceHelixAdmin#getIncrementalPushVersion}, and please make it in mind if you want to change this logic
-
setVersions
Sets the value of the 'versions' field. List of non-retired versions. It's currently sorted and there is code run under the assumption that the last element in the list is the largest. Check out {VeniceHelixAdmin#getIncrementalPushVersion}, and please make it in mind if you want to change this logic- Parameters:
value
- the value to set.
-
getSystemStores
Gets the value of the 'systemStores' field.- Returns:
- This field is used to maintain a mapping between each type of system store and the corresponding distinct properties
-
setSystemStores
Sets the value of the 'systemStores' field. This field is used to maintain a mapping between each type of system store and the corresponding distinct properties- Parameters:
value
- the value to set.
-
getStorageNodeReadQuotaEnabled
public boolean getStorageNodeReadQuotaEnabled()Gets the value of the 'storageNodeReadQuotaEnabled' field.- Returns:
- Controls the storage node read quota enforcement for the given Venice store
-
setStorageNodeReadQuotaEnabled
public void setStorageNodeReadQuotaEnabled(boolean value) Sets the value of the 'storageNodeReadQuotaEnabled' field. Controls the storage node read quota enforcement for the given Venice store- Parameters:
value
- the value to set.
-
getBlobTransferEnabled
public boolean getBlobTransferEnabled()Gets the value of the 'blobTransferEnabled' field.- Returns:
- Flag to indicate if the blob transfer is allowed or not
-
setBlobTransferEnabled
public void setBlobTransferEnabled(boolean value) Sets the value of the 'blobTransferEnabled' field. Flag to indicate if the blob transfer is allowed or not- Parameters:
value
- the value to set.
-
getNearlineProducerCompressionEnabled
public boolean getNearlineProducerCompressionEnabled()Gets the value of the 'nearlineProducerCompressionEnabled' field.- Returns:
- Flag to control whether the producer in Server for near-line workload will enable compression or not
-
setNearlineProducerCompressionEnabled
public void setNearlineProducerCompressionEnabled(boolean value) Sets the value of the 'nearlineProducerCompressionEnabled' field. Flag to control whether the producer in Server for near-line workload will enable compression or not- Parameters:
value
- the value to set.
-
getNearlineProducerCountPerWriter
public int getNearlineProducerCountPerWriter()Gets the value of the 'nearlineProducerCountPerWriter' field.- Returns:
- How many producers will be used for the nearline producer in Server to improve producing throughput
-
setNearlineProducerCountPerWriter
public void setNearlineProducerCountPerWriter(int value) Sets the value of the 'nearlineProducerCountPerWriter' field. How many producers will be used for the nearline producer in Server to improve producing throughput- Parameters:
value
- the value to set.
-
getTargetSwapRegion
Gets the value of the 'targetSwapRegion' field.- Returns:
- Controls what region to swap in the current version during target colo push
-
setTargetSwapRegion
Sets the value of the 'targetSwapRegion' field. Controls what region to swap in the current version during target colo push- Parameters:
value
- the value to set.
-
getTargetSwapRegionWaitTime
public int getTargetSwapRegionWaitTime()Gets the value of the 'targetSwapRegionWaitTime' field.- Returns:
- Controls how long to wait in minutes before swapping the version on the regions
-
setTargetSwapRegionWaitTime
public void setTargetSwapRegionWaitTime(int value) Sets the value of the 'targetSwapRegionWaitTime' field. Controls how long to wait in minutes before swapping the version on the regions- Parameters:
value
- the value to set.
-
getIsDaVinciHeartBeatReported
public boolean getIsDaVinciHeartBeatReported()Gets the value of the 'isDaVinciHeartBeatReported' field.- Returns:
- Flag to indicate whether DVC is bootstrapping and sending heartbeats
-
setIsDaVinciHeartBeatReported
public void setIsDaVinciHeartBeatReported(boolean value) Sets the value of the 'isDaVinciHeartBeatReported' field. Flag to indicate whether DVC is bootstrapping and sending heartbeats- Parameters:
value
- the value to set.
-
writeExternal
- Specified by:
writeExternal
in interfaceExternalizable
- Overrides:
writeExternal
in classorg.apache.avro.specific.SpecificRecordBase
- Throws:
IOException
-
readExternal
- Specified by:
readExternal
in interfaceExternalizable
- Overrides:
readExternal
in classorg.apache.avro.specific.SpecificRecordBase
- Throws:
IOException
-