Class StoreProperties
- java.lang.Object
-
- org.apache.avro.specific.SpecificRecordBase
-
- com.linkedin.venice.systemstore.schemas.StoreProperties
-
- All Implemented Interfaces:
java.io.Externalizable,java.io.Serializable,java.lang.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.SpecificRecordThis type contains all the store configs and the corresponding versions- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description booleanaccessControlledStore-level ACL switch.booleanactiveActiveReplicationEnabledWhether or not active/active replication is enabled for hybrid stores; eventually this config will replace native replication flag, when all stores are on A/AbooleanapplyTargetVersionFilterForIncPushWhether or not the target version field in Kafka messages will be used in increment push to RT policyintbackupStrategyStrategies to store backup versions, and default is 'DELETE_ON_NEW_PUSH_START'longbackupVersionRetentionMsBackup retention time, and if it is not set (-1), Venice Controller will use the default configured retention.intbatchGetLimitBatch get key number limit, and Venice will use cluster-level config if it is not positive.booleanblobTransferEnabledFlag to indicate if the blob transfer is allowed or notintbootstrapToOnlineTimeoutInHoursMaximum number of hours allowed for the store to transition from bootstrap to online state.booleanchunkingEnabledWhether current store supports large value (typically more than 1MB).booleanclientDecompressionEnabledle/Disable client-side record decompression (default: true)intcompressionStrategyStrategy used to compress/decompress Record's value, and default is 'NO_OP'longcreatedTimeTimestamp when this store was created.intcurrentVersionThe number of version which is used currently.booleandaVinciPushStatusStoreEnabledWhether or not davinci push status store is enabled.booleanenableReadsIf a store is disabled from being read, none of versions under this store could serve read requests.booleanenableWritesIf a store is disabled from writing, new version can not be created for it.StoreETLConfigetlConfigProperties related to ETL Store behavior.StoreHybridConfighybridConfigProperties related to Hybrid Store behavior.booleanhybridStoreDiskQuotaEnabledWhether or not storage disk quota is enabled for a hybrid store.booleanincrementalPushEnabledFlag to see if the store supports incremental push or notintincrementalPushPolicyIncremental Push Policy to reconcile with real time pushes, and default is 'PUSH_TO_VERSION_TOPIC'intlargestUsedVersionNumberThe largest version number ever used before for this store.intlatestSuperSetValueSchemaIdFor read compute stores with auto super-set schema enabled, stores the latest super-set value schema ID.longlatestVersionPromoteToCurrentTimestampThis is used to track the time when a new version is promoted to current version.booleanleaderFollowerModelEnabledWhether or not to use leader follower state transition model for upcoming version.longlowWatermarkEOIP control message timestamp of the most recent incremental push that has been marked successfullongmaxCompactionLagSecondsStore level max compaction lag config and if not specified, 'max.compaction.lag.ms' config won't be setup in the corresponding version topicsintmaxNearlineRecordSizeBytesStore-level max record size in bytes for nearline jobs with partial updates.intmaxRecordSizeBytesStore-level max record size in bytes.booleanmigratingWhether or not the store is in the process of migration.booleanmigrationDuplicateStoreWhether or not the store is a duplicate store in the process of migration.longminCompactionLagSecondsStore level min compaction lag config and if not specified, it will use the global config for version topicsjava.lang.CharSequencenameStore name.booleannativeReplicationEnabledWhether or not native should be enabled for this store.java.lang.CharSequencenativeReplicationSourceFabricThe source fabric name to be uses in native replication.booleannearlineProducerCompressionEnabledFlag to control whether the producer in Server for near-line workload will enable compression or notintnearlineProducerCountPerWriterHow many producers will be used for the nearline producer in Server to improve producing throughputintnumVersionsToPreserveHow many versions this store preserve at most.intofflinePushStrategyWhen doing off-line push, how to decide the data is ready to serve, and default is 'WAIT_N_MINUS_ONE_REPLCIA_PER_PARTITION'java.lang.CharSequenceownerOwner of this store.intpartitionCountDefault partition count for all of versions in this store.StorePartitionerConfigpartitionerConfigintpersistenceTypeType of persistence storage engine, and default is 'ROCKS_DB'java.lang.CharSequencepushStreamSourceAddressAddress to the kafka broker which holds the source of truth topic for this store version.booleanreadComputationEnabledWhether read-path computation is enabled for this store.longreadQuotaInCUQuota for read request hit this store.intreadStrategyHow to read data from multiple replications, and default is 'ANY_OF_ONLINE'intreplicationFactorThe number of replica each store version will keep.intreplicationMetadataVersionIDRMD (Replication metadata) version ID on the store-level.booleanrmdChunkingEnabledWhether current store supports large replication metadata (typically more than 1MB).introutingStrategyHow to route the key to partition, and default is 'CONSISTENT_HASH'static org.apache.avro.SchemaSCHEMA$booleanschemaAutoRegisteFromPushJobEnabledWhether or not value schema auto registration enabled from push job for this store.booleanseparateRealTimeTopicEnabledFlag to see if the store supports separate real-time topic for incremental push.booleanstorageNodeReadQuotaEnabledControls the storage node read quota enforcement for the given Venice storelongstorageQuotaInByteMaximum capacity a store version is able to have, and default is 20GBbooleanstoreMetadataSystemStoreEnabledWhether or not the store metadata system store is enabled for this store.booleanstoreMetaSystemStoreEnabledWhether or not the store meta system store is enabled for this store.java.util.Map<java.lang.CharSequence,SystemStoreProperties>systemStoresThis field is used to maintain a mapping between each type of system store and the corresponding distinct propertiesbooleanunusedSchemaDeletionEnabledStore level config to indicate whether unused schema deletion is enabled or not.java.util.List<StoreVersion>versionsList of non-retired versions.java.util.Map<java.lang.CharSequence,StoreViewConfig>viewsA map of views which describe and configure a downstream view of a venice store.booleanwriteComputationEnabledWhether or not write-path computation feature is enabled for this store.
-
Constructor Summary
Constructors Constructor Description StoreProperties()Default constructor.StoreProperties(java.lang.CharSequence name, java.lang.CharSequence owner, java.lang.Long createdTime, java.lang.Integer currentVersion, java.lang.Integer partitionCount, java.lang.Long lowWatermark, java.lang.Boolean enableWrites, java.lang.Boolean enableReads, java.lang.Long storageQuotaInByte, java.lang.Integer persistenceType, java.lang.Integer routingStrategy, java.lang.Integer readStrategy, java.lang.Integer offlinePushStrategy, java.lang.Integer largestUsedVersionNumber, java.lang.Long readQuotaInCU, StoreHybridConfig hybridConfig, java.util.Map<java.lang.CharSequence,StoreViewConfig> views, java.lang.Boolean accessControlled, java.lang.Integer compressionStrategy, java.lang.Boolean clientDecompressionEnabled, java.lang.Boolean chunkingEnabled, java.lang.Boolean rmdChunkingEnabled, java.lang.Integer batchGetLimit, java.lang.Integer numVersionsToPreserve, java.lang.Boolean incrementalPushEnabled, java.lang.Boolean separateRealTimeTopicEnabled, java.lang.Boolean migrating, java.lang.Boolean writeComputationEnabled, java.lang.Boolean readComputationEnabled, java.lang.Integer bootstrapToOnlineTimeoutInHours, java.lang.Boolean leaderFollowerModelEnabled, java.lang.Boolean nativeReplicationEnabled, java.lang.Integer replicationMetadataVersionID, java.lang.CharSequence pushStreamSourceAddress, java.lang.Integer backupStrategy, java.lang.Boolean schemaAutoRegisteFromPushJobEnabled, java.lang.Integer latestSuperSetValueSchemaId, java.lang.Boolean hybridStoreDiskQuotaEnabled, java.lang.Boolean storeMetadataSystemStoreEnabled, StoreETLConfig etlConfig, StorePartitionerConfig partitionerConfig, java.lang.Integer incrementalPushPolicy, java.lang.Long latestVersionPromoteToCurrentTimestamp, java.lang.Long backupVersionRetentionMs, java.lang.Integer replicationFactor, java.lang.Boolean migrationDuplicateStore, java.lang.CharSequence nativeReplicationSourceFabric, java.lang.Boolean daVinciPushStatusStoreEnabled, java.lang.Boolean storeMetaSystemStoreEnabled, java.lang.Boolean activeActiveReplicationEnabled, java.lang.Boolean applyTargetVersionFilterForIncPush, java.lang.Long minCompactionLagSeconds, java.lang.Long maxCompactionLagSeconds, java.lang.Integer maxRecordSizeBytes, java.lang.Integer maxNearlineRecordSizeBytes, java.lang.Boolean unusedSchemaDeletionEnabled, java.util.List<StoreVersion> versions, java.util.Map<java.lang.CharSequence,SystemStoreProperties> systemStores, java.lang.Boolean storageNodeReadQuotaEnabled, java.lang.Boolean blobTransferEnabled, java.lang.Boolean nearlineProducerCompressionEnabled, java.lang.Integer nearlineProducerCountPerWriter)All-args constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Objectget(int field$)booleangetAccessControlled()Gets the value of the 'accessControlled' field.booleangetActiveActiveReplicationEnabled()Gets the value of the 'activeActiveReplicationEnabled' field.booleangetApplyTargetVersionFilterForIncPush()Gets the value of the 'applyTargetVersionFilterForIncPush' field.intgetBackupStrategy()Gets the value of the 'backupStrategy' field.longgetBackupVersionRetentionMs()Gets the value of the 'backupVersionRetentionMs' field.intgetBatchGetLimit()Gets the value of the 'batchGetLimit' field.booleangetBlobTransferEnabled()Gets the value of the 'blobTransferEnabled' field.intgetBootstrapToOnlineTimeoutInHours()Gets the value of the 'bootstrapToOnlineTimeoutInHours' field.booleangetChunkingEnabled()Gets the value of the 'chunkingEnabled' field.static org.apache.avro.SchemagetClassSchema()booleangetClientDecompressionEnabled()Gets the value of the 'clientDecompressionEnabled' field.intgetCompressionStrategy()Gets the value of the 'compressionStrategy' field.longgetCreatedTime()Gets the value of the 'createdTime' field.intgetCurrentVersion()Gets the value of the 'currentVersion' field.booleangetDaVinciPushStatusStoreEnabled()Gets the value of the 'daVinciPushStatusStoreEnabled' field.booleangetEnableReads()Gets the value of the 'enableReads' field.booleangetEnableWrites()Gets the value of the 'enableWrites' field.StoreETLConfiggetEtlConfig()Gets the value of the 'etlConfig' field.StoreHybridConfiggetHybridConfig()Gets the value of the 'hybridConfig' field.booleangetHybridStoreDiskQuotaEnabled()Gets the value of the 'hybridStoreDiskQuotaEnabled' field.booleangetIncrementalPushEnabled()Gets the value of the 'incrementalPushEnabled' field.intgetIncrementalPushPolicy()Gets the value of the 'incrementalPushPolicy' field.intgetLargestUsedVersionNumber()Gets the value of the 'largestUsedVersionNumber' field.intgetLatestSuperSetValueSchemaId()Gets the value of the 'latestSuperSetValueSchemaId' field.longgetLatestVersionPromoteToCurrentTimestamp()Gets the value of the 'latestVersionPromoteToCurrentTimestamp' field.booleangetLeaderFollowerModelEnabled()Gets the value of the 'leaderFollowerModelEnabled' field.longgetLowWatermark()Gets the value of the 'lowWatermark' field.longgetMaxCompactionLagSeconds()Gets the value of the 'maxCompactionLagSeconds' field.intgetMaxNearlineRecordSizeBytes()Gets the value of the 'maxNearlineRecordSizeBytes' field.intgetMaxRecordSizeBytes()Gets the value of the 'maxRecordSizeBytes' field.booleangetMigrating()Gets the value of the 'migrating' field.booleangetMigrationDuplicateStore()Gets the value of the 'migrationDuplicateStore' field.longgetMinCompactionLagSeconds()Gets the value of the 'minCompactionLagSeconds' field.java.lang.CharSequencegetName()Gets the value of the 'name' field.booleangetNativeReplicationEnabled()Gets the value of the 'nativeReplicationEnabled' field.java.lang.CharSequencegetNativeReplicationSourceFabric()Gets the value of the 'nativeReplicationSourceFabric' field.booleangetNearlineProducerCompressionEnabled()Gets the value of the 'nearlineProducerCompressionEnabled' field.intgetNearlineProducerCountPerWriter()Gets the value of the 'nearlineProducerCountPerWriter' field.intgetNumVersionsToPreserve()Gets the value of the 'numVersionsToPreserve' field.intgetOfflinePushStrategy()Gets the value of the 'offlinePushStrategy' field.java.lang.CharSequencegetOwner()Gets the value of the 'owner' field.intgetPartitionCount()Gets the value of the 'partitionCount' field.StorePartitionerConfiggetPartitionerConfig()Gets the value of the 'partitionerConfig' field.intgetPersistenceType()Gets the value of the 'persistenceType' field.java.lang.CharSequencegetPushStreamSourceAddress()Gets the value of the 'pushStreamSourceAddress' field.booleangetReadComputationEnabled()Gets the value of the 'readComputationEnabled' field.longgetReadQuotaInCU()Gets the value of the 'readQuotaInCU' field.intgetReadStrategy()Gets the value of the 'readStrategy' field.intgetReplicationFactor()Gets the value of the 'replicationFactor' field.intgetReplicationMetadataVersionID()Gets the value of the 'replicationMetadataVersionID' field.booleangetRmdChunkingEnabled()Gets the value of the 'rmdChunkingEnabled' field.intgetRoutingStrategy()Gets the value of the 'routingStrategy' field.org.apache.avro.SchemagetSchema()booleangetSchemaAutoRegisteFromPushJobEnabled()Gets the value of the 'schemaAutoRegisteFromPushJobEnabled' field.booleangetSeparateRealTimeTopicEnabled()Gets the value of the 'separateRealTimeTopicEnabled' field.org.apache.avro.specific.SpecificDatagetSpecificData()booleangetStorageNodeReadQuotaEnabled()Gets the value of the 'storageNodeReadQuotaEnabled' field.longgetStorageQuotaInByte()Gets the value of the 'storageQuotaInByte' field.booleangetStoreMetadataSystemStoreEnabled()Gets the value of the 'storeMetadataSystemStoreEnabled' field.booleangetStoreMetaSystemStoreEnabled()Gets the value of the 'storeMetaSystemStoreEnabled' field.java.util.Map<java.lang.CharSequence,SystemStoreProperties>getSystemStores()Gets the value of the 'systemStores' field.booleangetUnusedSchemaDeletionEnabled()Gets the value of the 'unusedSchemaDeletionEnabled' field.java.util.List<StoreVersion>getVersions()Gets the value of the 'versions' field.java.util.Map<java.lang.CharSequence,StoreViewConfig>getViews()Gets the value of the 'views' field.booleangetWriteComputationEnabled()Gets the value of the 'writeComputationEnabled' field.voidput(int field$, java.lang.Object value$)voidreadExternal(java.io.ObjectInput in)voidsetAccessControlled(boolean value)Sets the value of the 'accessControlled' field.voidsetActiveActiveReplicationEnabled(boolean value)Sets the value of the 'activeActiveReplicationEnabled' field.voidsetApplyTargetVersionFilterForIncPush(boolean value)Sets the value of the 'applyTargetVersionFilterForIncPush' field.voidsetBackupStrategy(int value)Sets the value of the 'backupStrategy' field.voidsetBackupVersionRetentionMs(long value)Sets the value of the 'backupVersionRetentionMs' field.voidsetBatchGetLimit(int value)Sets the value of the 'batchGetLimit' field.voidsetBlobTransferEnabled(boolean value)Sets the value of the 'blobTransferEnabled' field.voidsetBootstrapToOnlineTimeoutInHours(int value)Sets the value of the 'bootstrapToOnlineTimeoutInHours' field.voidsetChunkingEnabled(boolean value)Sets the value of the 'chunkingEnabled' field.voidsetClientDecompressionEnabled(boolean value)Sets the value of the 'clientDecompressionEnabled' field.voidsetCompressionStrategy(int value)Sets the value of the 'compressionStrategy' field.voidsetCreatedTime(long value)Sets the value of the 'createdTime' field.voidsetCurrentVersion(int value)Sets the value of the 'currentVersion' field.voidsetDaVinciPushStatusStoreEnabled(boolean value)Sets the value of the 'daVinciPushStatusStoreEnabled' field.voidsetEnableReads(boolean value)Sets the value of the 'enableReads' field.voidsetEnableWrites(boolean value)Sets the value of the 'enableWrites' field.voidsetEtlConfig(StoreETLConfig value)Sets the value of the 'etlConfig' field.voidsetHybridConfig(StoreHybridConfig value)Sets the value of the 'hybridConfig' field.voidsetHybridStoreDiskQuotaEnabled(boolean value)Sets the value of the 'hybridStoreDiskQuotaEnabled' field.voidsetIncrementalPushEnabled(boolean value)Sets the value of the 'incrementalPushEnabled' field.voidsetIncrementalPushPolicy(int value)Sets the value of the 'incrementalPushPolicy' field.voidsetLargestUsedVersionNumber(int value)Sets the value of the 'largestUsedVersionNumber' field.voidsetLatestSuperSetValueSchemaId(int value)Sets the value of the 'latestSuperSetValueSchemaId' field.voidsetLatestVersionPromoteToCurrentTimestamp(long value)Sets the value of the 'latestVersionPromoteToCurrentTimestamp' field.voidsetLeaderFollowerModelEnabled(boolean value)Sets the value of the 'leaderFollowerModelEnabled' field.voidsetLowWatermark(long value)Sets the value of the 'lowWatermark' field.voidsetMaxCompactionLagSeconds(long value)Sets the value of the 'maxCompactionLagSeconds' field.voidsetMaxNearlineRecordSizeBytes(int value)Sets the value of the 'maxNearlineRecordSizeBytes' field.voidsetMaxRecordSizeBytes(int value)Sets the value of the 'maxRecordSizeBytes' field.voidsetMigrating(boolean value)Sets the value of the 'migrating' field.voidsetMigrationDuplicateStore(boolean value)Sets the value of the 'migrationDuplicateStore' field.voidsetMinCompactionLagSeconds(long value)Sets the value of the 'minCompactionLagSeconds' field.voidsetName(java.lang.CharSequence value)Sets the value of the 'name' field.voidsetNativeReplicationEnabled(boolean value)Sets the value of the 'nativeReplicationEnabled' field.voidsetNativeReplicationSourceFabric(java.lang.CharSequence value)Sets the value of the 'nativeReplicationSourceFabric' field.voidsetNearlineProducerCompressionEnabled(boolean value)Sets the value of the 'nearlineProducerCompressionEnabled' field.voidsetNearlineProducerCountPerWriter(int value)Sets the value of the 'nearlineProducerCountPerWriter' field.voidsetNumVersionsToPreserve(int value)Sets the value of the 'numVersionsToPreserve' field.voidsetOfflinePushStrategy(int value)Sets the value of the 'offlinePushStrategy' field.voidsetOwner(java.lang.CharSequence value)Sets the value of the 'owner' field.voidsetPartitionCount(int value)Sets the value of the 'partitionCount' field.voidsetPartitionerConfig(StorePartitionerConfig value)Sets the value of the 'partitionerConfig' field.voidsetPersistenceType(int value)Sets the value of the 'persistenceType' field.voidsetPushStreamSourceAddress(java.lang.CharSequence value)Sets the value of the 'pushStreamSourceAddress' field.voidsetReadComputationEnabled(boolean value)Sets the value of the 'readComputationEnabled' field.voidsetReadQuotaInCU(long value)Sets the value of the 'readQuotaInCU' field.voidsetReadStrategy(int value)Sets the value of the 'readStrategy' field.voidsetReplicationFactor(int value)Sets the value of the 'replicationFactor' field.voidsetReplicationMetadataVersionID(int value)Sets the value of the 'replicationMetadataVersionID' field.voidsetRmdChunkingEnabled(boolean value)Sets the value of the 'rmdChunkingEnabled' field.voidsetRoutingStrategy(int value)Sets the value of the 'routingStrategy' field.voidsetSchemaAutoRegisteFromPushJobEnabled(boolean value)Sets the value of the 'schemaAutoRegisteFromPushJobEnabled' field.voidsetSeparateRealTimeTopicEnabled(boolean value)Sets the value of the 'separateRealTimeTopicEnabled' field.voidsetStorageNodeReadQuotaEnabled(boolean value)Sets the value of the 'storageNodeReadQuotaEnabled' field.voidsetStorageQuotaInByte(long value)Sets the value of the 'storageQuotaInByte' field.voidsetStoreMetadataSystemStoreEnabled(boolean value)Sets the value of the 'storeMetadataSystemStoreEnabled' field.voidsetStoreMetaSystemStoreEnabled(boolean value)Sets the value of the 'storeMetaSystemStoreEnabled' field.voidsetSystemStores(java.util.Map<java.lang.CharSequence,SystemStoreProperties> value)Sets the value of the 'systemStores' field.voidsetUnusedSchemaDeletionEnabled(boolean value)Sets the value of the 'unusedSchemaDeletionEnabled' field.voidsetVersions(java.util.List<StoreVersion> value)Sets the value of the 'versions' field.voidsetViews(java.util.Map<java.lang.CharSequence,StoreViewConfig> value)Sets the value of the 'views' field.voidsetWriteComputationEnabled(boolean value)Sets the value of the 'writeComputationEnabled' field.voidwriteExternal(java.io.ObjectOutput out)-
Methods inherited from class org.apache.avro.specific.SpecificRecordBase
compareTo, customDecode, customEncode, equals, get, getConversion, getConversion, hasCustomCoders, hashCode, put, toString
-
-
-
-
Field Detail
-
SCHEMA$
public static final org.apache.avro.Schema SCHEMA$
-
name
public java.lang.CharSequence name
Store name.
-
owner
public java.lang.CharSequence owner
Owner of this store.
-
createdTime
public long createdTime
Timestamp when this store was created.
-
currentVersion
public int currentVersion
The number of version which is used currently.
-
partitionCount
public int partitionCount
Default partition count for all of versions in this store. Once first version become online, the number will be assigned.
-
lowWatermark
public long lowWatermark
EOIP control message timestamp of the most recent incremental push that has been marked successful
-
enableWrites
public boolean enableWrites
If a store is disabled from writing, new version can not be created for it.
-
enableReads
public boolean enableReads
If a store is disabled from being read, none of versions under this store could serve read requests.
-
storageQuotaInByte
public long storageQuotaInByte
Maximum capacity a store version is able to have, and default is 20GB
-
persistenceType
public int persistenceType
Type of persistence storage engine, and default is 'ROCKS_DB'
-
routingStrategy
public int routingStrategy
How to route the key to partition, and default is 'CONSISTENT_HASH'
-
readStrategy
public int readStrategy
How to read data from multiple replications, and default is 'ANY_OF_ONLINE'
-
offlinePushStrategy
public int 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
public int largestUsedVersionNumber
The largest version number ever used before for this store.
-
readQuotaInCU
public long readQuotaInCU
Quota for read request hit this store. Measurement is capacity unit.
-
hybridConfig
public StoreHybridConfig hybridConfig
Properties related to Hybrid Store behavior. If absent (null), then the store is not hybrid.
-
views
public java.util.Map<java.lang.CharSequence,StoreViewConfig> 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 accessControlled
Store-level ACL switch. When disabled, Venice Router should accept every request.
-
compressionStrategy
public int compressionStrategy
Strategy used to compress/decompress Record's value, and default is 'NO_OP'
-
clientDecompressionEnabled
public boolean clientDecompressionEnabled
le/Disable client-side record decompression (default: true)
-
chunkingEnabled
public boolean chunkingEnabled
Whether current store supports large value (typically more than 1MB). By default, the chunking feature is disabled.
-
rmdChunkingEnabled
public boolean rmdChunkingEnabled
Whether current store supports large replication metadata (typically more than 1MB). By default, the chunking feature is disabled.
-
batchGetLimit
public int batchGetLimit
Batch get key number limit, and Venice will use cluster-level config if it is not positive.
-
numVersionsToPreserve
public int 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
public boolean incrementalPushEnabled
Flag to see if the store supports incremental push or not
-
separateRealTimeTopicEnabled
public boolean separateRealTimeTopicEnabled
Flag to see if the store supports separate real-time topic for incremental push.
-
migrating
public boolean migrating
Whether or not the store is in the process of migration.
-
writeComputationEnabled
public boolean writeComputationEnabled
Whether or not write-path computation feature is enabled for this store.
-
readComputationEnabled
public boolean readComputationEnabled
Whether read-path computation is enabled for this store.
-
bootstrapToOnlineTimeoutInHours
public int bootstrapToOnlineTimeoutInHours
Maximum number of hours allowed for the store to transition from bootstrap to online state.
-
leaderFollowerModelEnabled
public boolean leaderFollowerModelEnabled
Whether or not to use leader follower state transition model for upcoming version.
-
nativeReplicationEnabled
public boolean 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
public int 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
public java.lang.CharSequence pushStreamSourceAddress
Address to the kafka broker which holds the source of truth topic for this store version.
-
backupStrategy
public int backupStrategy
Strategies to store backup versions, and default is 'DELETE_ON_NEW_PUSH_START'
-
schemaAutoRegisteFromPushJobEnabled
public boolean schemaAutoRegisteFromPushJobEnabled
Whether or not value schema auto registration enabled from push job for this store.
-
latestSuperSetValueSchemaId
public int latestSuperSetValueSchemaId
For read compute stores with auto super-set schema enabled, stores the latest super-set value schema ID.
-
hybridStoreDiskQuotaEnabled
public boolean 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
public boolean storeMetadataSystemStoreEnabled
Whether or not the store metadata system store is enabled for this store.
-
etlConfig
public StoreETLConfig etlConfig
Properties related to ETL Store behavior.
-
partitionerConfig
public StorePartitionerConfig partitionerConfig
-
incrementalPushPolicy
public int incrementalPushPolicy
Incremental Push Policy to reconcile with real time pushes, and default is 'PUSH_TO_VERSION_TOPIC'
-
latestVersionPromoteToCurrentTimestamp
public long 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
public long 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
public int replicationFactor
The number of replica each store version will keep.
-
migrationDuplicateStore
public boolean migrationDuplicateStore
Whether or not the store is a duplicate store in the process of migration.
-
nativeReplicationSourceFabric
public java.lang.CharSequence nativeReplicationSourceFabric
The source fabric name to be uses in native replication. Remote consumption will happen from kafka in this fabric.
-
daVinciPushStatusStoreEnabled
public boolean daVinciPushStatusStoreEnabled
Whether or not davinci push status store is enabled.
-
storeMetaSystemStoreEnabled
public boolean storeMetaSystemStoreEnabled
Whether or not the store meta system store is enabled for this store.
-
activeActiveReplicationEnabled
public boolean 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/A
-
applyTargetVersionFilterForIncPush
public boolean applyTargetVersionFilterForIncPush
Whether or not the target version field in Kafka messages will be used in increment push to RT policy
-
minCompactionLagSeconds
public long minCompactionLagSeconds
Store level min compaction lag config and if not specified, it will use the global config for version topics
-
maxCompactionLagSeconds
public long maxCompactionLagSeconds
Store 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 maxRecordSizeBytes
Store-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 maxNearlineRecordSizeBytes
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
-
unusedSchemaDeletionEnabled
public boolean unusedSchemaDeletionEnabled
Store level config to indicate whether unused schema deletion is enabled or not.
-
versions
public java.util.List<StoreVersion> 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
public java.util.Map<java.lang.CharSequence,SystemStoreProperties> systemStores
This field is used to maintain a mapping between each type of system store and the corresponding distinct properties
-
storageNodeReadQuotaEnabled
public boolean storageNodeReadQuotaEnabled
Controls the storage node read quota enforcement for the given Venice store
-
blobTransferEnabled
public boolean blobTransferEnabled
Flag to indicate if the blob transfer is allowed or not
-
nearlineProducerCompressionEnabled
public boolean nearlineProducerCompressionEnabled
Flag to control whether the producer in Server for near-line workload will enable compression or not
-
nearlineProducerCountPerWriter
public int nearlineProducerCountPerWriter
How many producers will be used for the nearline producer in Server to improve producing throughput
-
-
Constructor Detail
-
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(java.lang.CharSequence name, java.lang.CharSequence owner, java.lang.Long createdTime, java.lang.Integer currentVersion, java.lang.Integer partitionCount, java.lang.Long lowWatermark, java.lang.Boolean enableWrites, java.lang.Boolean enableReads, java.lang.Long storageQuotaInByte, java.lang.Integer persistenceType, java.lang.Integer routingStrategy, java.lang.Integer readStrategy, java.lang.Integer offlinePushStrategy, java.lang.Integer largestUsedVersionNumber, java.lang.Long readQuotaInCU, StoreHybridConfig hybridConfig, java.util.Map<java.lang.CharSequence,StoreViewConfig> views, java.lang.Boolean accessControlled, java.lang.Integer compressionStrategy, java.lang.Boolean clientDecompressionEnabled, java.lang.Boolean chunkingEnabled, java.lang.Boolean rmdChunkingEnabled, java.lang.Integer batchGetLimit, java.lang.Integer numVersionsToPreserve, java.lang.Boolean incrementalPushEnabled, java.lang.Boolean separateRealTimeTopicEnabled, java.lang.Boolean migrating, java.lang.Boolean writeComputationEnabled, java.lang.Boolean readComputationEnabled, java.lang.Integer bootstrapToOnlineTimeoutInHours, java.lang.Boolean leaderFollowerModelEnabled, java.lang.Boolean nativeReplicationEnabled, java.lang.Integer replicationMetadataVersionID, java.lang.CharSequence pushStreamSourceAddress, java.lang.Integer backupStrategy, java.lang.Boolean schemaAutoRegisteFromPushJobEnabled, java.lang.Integer latestSuperSetValueSchemaId, java.lang.Boolean hybridStoreDiskQuotaEnabled, java.lang.Boolean storeMetadataSystemStoreEnabled, StoreETLConfig etlConfig, StorePartitionerConfig partitionerConfig, java.lang.Integer incrementalPushPolicy, java.lang.Long latestVersionPromoteToCurrentTimestamp, java.lang.Long backupVersionRetentionMs, java.lang.Integer replicationFactor, java.lang.Boolean migrationDuplicateStore, java.lang.CharSequence nativeReplicationSourceFabric, java.lang.Boolean daVinciPushStatusStoreEnabled, java.lang.Boolean storeMetaSystemStoreEnabled, java.lang.Boolean activeActiveReplicationEnabled, java.lang.Boolean applyTargetVersionFilterForIncPush, java.lang.Long minCompactionLagSeconds, java.lang.Long maxCompactionLagSeconds, java.lang.Integer maxRecordSizeBytes, java.lang.Integer maxNearlineRecordSizeBytes, java.lang.Boolean unusedSchemaDeletionEnabled, java.util.List<StoreVersion> versions, java.util.Map<java.lang.CharSequence,SystemStoreProperties> systemStores, java.lang.Boolean storageNodeReadQuotaEnabled, java.lang.Boolean blobTransferEnabled, java.lang.Boolean nearlineProducerCompressionEnabled, java.lang.Integer nearlineProducerCountPerWriter)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 throughput
-
-
Method Detail
-
getClassSchema
public static org.apache.avro.Schema getClassSchema()
-
getSpecificData
public org.apache.avro.specific.SpecificData getSpecificData()
- Overrides:
getSpecificDatain classorg.apache.avro.specific.SpecificRecordBase
-
getSchema
public org.apache.avro.Schema getSchema()
- Specified by:
getSchemain interfaceorg.apache.avro.generic.GenericContainer- Specified by:
getSchemain classorg.apache.avro.specific.SpecificRecordBase
-
get
public java.lang.Object get(int field$)
- Specified by:
getin interfaceorg.apache.avro.generic.IndexedRecord- Specified by:
getin classorg.apache.avro.specific.SpecificRecordBase
-
put
public void put(int field$, java.lang.Object value$)- Specified by:
putin interfaceorg.apache.avro.generic.IndexedRecord- Specified by:
putin classorg.apache.avro.specific.SpecificRecordBase
-
getName
public java.lang.CharSequence getName()
Gets the value of the 'name' field.- Returns:
- Store name.
-
setName
public void setName(java.lang.CharSequence value)
Sets the value of the 'name' field. Store name.- Parameters:
value- the value to set.
-
getOwner
public java.lang.CharSequence getOwner()
Gets the value of the 'owner' field.- Returns:
- Owner of this store.
-
setOwner
public void setOwner(java.lang.CharSequence value)
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
public StoreHybridConfig 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
public void setHybridConfig(StoreHybridConfig value)
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
public java.util.Map<java.lang.CharSequence,StoreViewConfig> 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
public void setViews(java.util.Map<java.lang.CharSequence,StoreViewConfig> value)
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
public java.lang.CharSequence 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
public void setPushStreamSourceAddress(java.lang.CharSequence value)
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
public StoreETLConfig getEtlConfig()
Gets the value of the 'etlConfig' field.- Returns:
- Properties related to ETL Store behavior.
-
setEtlConfig
public void setEtlConfig(StoreETLConfig value)
Sets the value of the 'etlConfig' field. Properties related to ETL Store behavior.- Parameters:
value- the value to set.
-
getPartitionerConfig
public StorePartitionerConfig getPartitionerConfig()
Gets the value of the 'partitionerConfig' field.- Returns:
- The value of the 'partitionerConfig' field.
-
setPartitionerConfig
public void setPartitionerConfig(StorePartitionerConfig value)
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
public java.lang.CharSequence 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
public void setNativeReplicationSourceFabric(java.lang.CharSequence value)
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
public java.util.List<StoreVersion> 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
public void setVersions(java.util.List<StoreVersion> value)
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
public java.util.Map<java.lang.CharSequence,SystemStoreProperties> 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
public void setSystemStores(java.util.Map<java.lang.CharSequence,SystemStoreProperties> value)
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.
-
writeExternal
public void writeExternal(java.io.ObjectOutput out) throws java.io.IOException- Specified by:
writeExternalin interfacejava.io.Externalizable- Overrides:
writeExternalin classorg.apache.avro.specific.SpecificRecordBase- Throws:
java.io.IOException
-
readExternal
public void readExternal(java.io.ObjectInput in) throws java.io.IOException- Specified by:
readExternalin interfacejava.io.Externalizable- Overrides:
readExternalin classorg.apache.avro.specific.SpecificRecordBase- Throws:
java.io.IOException
-
-