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.SpecificRecord
This type contains all the store configs and the corresponding versions- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description boolean
accessControlled
Store-level ACL switch.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/Aboolean
applyTargetVersionFilterForIncPush
Whether or not the target version field in Kafka messages will be used in increment push to RT policyint
backupStrategy
Strategies to store backup versions, and default is 'DELETE_ON_NEW_PUSH_START'long
backupVersionRetentionMs
Backup retention time, and if it is not set (-1), Venice Controller will use the default configured retention.int
batchGetLimit
Batch get key number limit, and Venice will use cluster-level config if it is not positive.boolean
blobTransferEnabled
Flag to indicate if the blob transfer is allowed or notint
bootstrapToOnlineTimeoutInHours
Maximum number of hours allowed for the store to transition from bootstrap to online state.boolean
chunkingEnabled
Whether current store supports large value (typically more than 1MB).boolean
clientDecompressionEnabled
le/Disable client-side record decompression (default: true)int
compressionStrategy
Strategy used to compress/decompress Record's value, and default is 'NO_OP'long
createdTime
Timestamp when this store was created.int
currentVersion
The number of version which is used currently.boolean
daVinciPushStatusStoreEnabled
Whether or not davinci push status store is enabled.boolean
enableReads
If a store is disabled from being read, none of versions under this store could serve read requests.boolean
enableWrites
If a store is disabled from writing, new version can not be created for it.StoreETLConfig
etlConfig
Properties related to ETL Store behavior.StoreHybridConfig
hybridConfig
Properties related to Hybrid Store behavior.boolean
hybridStoreDiskQuotaEnabled
Whether or not storage disk quota is enabled for a hybrid store.boolean
incrementalPushEnabled
Flag to see if the store supports incremental push or notint
incrementalPushPolicy
Incremental Push Policy to reconcile with real time pushes, and default is 'PUSH_TO_VERSION_TOPIC'int
largestUsedVersionNumber
The largest version number ever used before for this store.int
latestSuperSetValueSchemaId
For read compute stores with auto super-set schema enabled, stores the latest super-set value schema ID.long
latestVersionPromoteToCurrentTimestamp
This is used to track the time when a new version is promoted to current version.boolean
leaderFollowerModelEnabled
Whether or not to use leader follower state transition model for upcoming version.long
lowWatermark
EOIP control message timestamp of the most recent incremental push that has been marked successfullong
maxCompactionLagSeconds
Store level max compaction lag config and if not specified, 'max.compaction.lag.ms' config won't be setup in the corresponding version topicsint
maxNearlineRecordSizeBytes
Store-level max record size in bytes for nearline jobs with partial updates.int
maxRecordSizeBytes
Store-level max record size in bytes.boolean
migrating
Whether or not the store is in the process of migration.boolean
migrationDuplicateStore
Whether or not the store is a duplicate store in the process of migration.long
minCompactionLagSeconds
Store level min compaction lag config and if not specified, it will use the global config for version topicsjava.lang.CharSequence
name
Store name.boolean
nativeReplicationEnabled
Whether or not native should be enabled for this store.java.lang.CharSequence
nativeReplicationSourceFabric
The source fabric name to be uses in native replication.boolean
nearlineProducerCompressionEnabled
Flag to control whether the producer in Server for near-line workload will enable compression or notint
nearlineProducerCountPerWriter
How many producers will be used for the nearline producer in Server to improve producing throughputint
numVersionsToPreserve
How many versions this store preserve at most.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'java.lang.CharSequence
owner
Owner of this store.int
partitionCount
Default partition count for all of versions in this store.StorePartitionerConfig
partitionerConfig
int
persistenceType
Type of persistence storage engine, and default is 'ROCKS_DB'java.lang.CharSequence
pushStreamSourceAddress
Address to the kafka broker which holds the source of truth topic for this store version.boolean
readComputationEnabled
Whether read-path computation is enabled for this store.long
readQuotaInCU
Quota for read request hit this store.int
readStrategy
How to read data from multiple replications, and default is 'ANY_OF_ONLINE'int
replicationFactor
The number of replica each store version will keep.int
replicationMetadataVersionID
RMD (Replication metadata) version ID on the store-level.boolean
rmdChunkingEnabled
Whether current store supports large replication metadata (typically more than 1MB).int
routingStrategy
How to route the key to partition, and default is 'CONSISTENT_HASH'static org.apache.avro.Schema
SCHEMA$
boolean
schemaAutoRegisteFromPushJobEnabled
Whether or not value schema auto registration enabled from push job for this store.boolean
separateRealTimeTopicEnabled
Flag to see if the store supports separate real-time topic for incremental push.boolean
storageNodeReadQuotaEnabled
Controls the storage node read quota enforcement for the given Venice storelong
storageQuotaInByte
Maximum capacity a store version is able to have, and default is 20GBboolean
storeMetadataSystemStoreEnabled
Whether or not the store metadata system store is enabled for this store.boolean
storeMetaSystemStoreEnabled
Whether or not the store meta system store is enabled for this store.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 propertiesboolean
unusedSchemaDeletionEnabled
Store level config to indicate whether unused schema deletion is enabled or not.java.util.List<StoreVersion>
versions
List of non-retired versions.java.util.Map<java.lang.CharSequence,StoreViewConfig>
views
A map of views which describe and configure a downstream view of a venice store.boolean
writeComputationEnabled
Whether 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.Object
get(int field$)
boolean
getAccessControlled()
Gets the value of the 'accessControlled' field.boolean
getActiveActiveReplicationEnabled()
Gets the value of the 'activeActiveReplicationEnabled' field.boolean
getApplyTargetVersionFilterForIncPush()
Gets the value of the 'applyTargetVersionFilterForIncPush' field.int
getBackupStrategy()
Gets the value of the 'backupStrategy' field.long
getBackupVersionRetentionMs()
Gets the value of the 'backupVersionRetentionMs' field.int
getBatchGetLimit()
Gets the value of the 'batchGetLimit' field.boolean
getBlobTransferEnabled()
Gets the value of the 'blobTransferEnabled' field.int
getBootstrapToOnlineTimeoutInHours()
Gets the value of the 'bootstrapToOnlineTimeoutInHours' field.boolean
getChunkingEnabled()
Gets the value of the 'chunkingEnabled' field.static org.apache.avro.Schema
getClassSchema()
boolean
getClientDecompressionEnabled()
Gets the value of the 'clientDecompressionEnabled' field.int
getCompressionStrategy()
Gets the value of the 'compressionStrategy' field.long
getCreatedTime()
Gets the value of the 'createdTime' field.int
getCurrentVersion()
Gets the value of the 'currentVersion' field.boolean
getDaVinciPushStatusStoreEnabled()
Gets the value of the 'daVinciPushStatusStoreEnabled' field.boolean
getEnableReads()
Gets the value of the 'enableReads' field.boolean
getEnableWrites()
Gets the value of the 'enableWrites' field.StoreETLConfig
getEtlConfig()
Gets the value of the 'etlConfig' field.StoreHybridConfig
getHybridConfig()
Gets the value of the 'hybridConfig' field.boolean
getHybridStoreDiskQuotaEnabled()
Gets the value of the 'hybridStoreDiskQuotaEnabled' field.boolean
getIncrementalPushEnabled()
Gets the value of the 'incrementalPushEnabled' field.int
getIncrementalPushPolicy()
Gets the value of the 'incrementalPushPolicy' field.int
getLargestUsedVersionNumber()
Gets the value of the 'largestUsedVersionNumber' field.int
getLatestSuperSetValueSchemaId()
Gets the value of the 'latestSuperSetValueSchemaId' field.long
getLatestVersionPromoteToCurrentTimestamp()
Gets the value of the 'latestVersionPromoteToCurrentTimestamp' field.boolean
getLeaderFollowerModelEnabled()
Gets the value of the 'leaderFollowerModelEnabled' field.long
getLowWatermark()
Gets the value of the 'lowWatermark' field.long
getMaxCompactionLagSeconds()
Gets the value of the 'maxCompactionLagSeconds' field.int
getMaxNearlineRecordSizeBytes()
Gets the value of the 'maxNearlineRecordSizeBytes' field.int
getMaxRecordSizeBytes()
Gets the value of the 'maxRecordSizeBytes' field.boolean
getMigrating()
Gets the value of the 'migrating' field.boolean
getMigrationDuplicateStore()
Gets the value of the 'migrationDuplicateStore' field.long
getMinCompactionLagSeconds()
Gets the value of the 'minCompactionLagSeconds' field.java.lang.CharSequence
getName()
Gets the value of the 'name' field.boolean
getNativeReplicationEnabled()
Gets the value of the 'nativeReplicationEnabled' field.java.lang.CharSequence
getNativeReplicationSourceFabric()
Gets the value of the 'nativeReplicationSourceFabric' field.boolean
getNearlineProducerCompressionEnabled()
Gets the value of the 'nearlineProducerCompressionEnabled' field.int
getNearlineProducerCountPerWriter()
Gets the value of the 'nearlineProducerCountPerWriter' field.int
getNumVersionsToPreserve()
Gets the value of the 'numVersionsToPreserve' field.int
getOfflinePushStrategy()
Gets the value of the 'offlinePushStrategy' field.java.lang.CharSequence
getOwner()
Gets the value of the 'owner' field.int
getPartitionCount()
Gets the value of the 'partitionCount' field.StorePartitionerConfig
getPartitionerConfig()
Gets the value of the 'partitionerConfig' field.int
getPersistenceType()
Gets the value of the 'persistenceType' field.java.lang.CharSequence
getPushStreamSourceAddress()
Gets the value of the 'pushStreamSourceAddress' field.boolean
getReadComputationEnabled()
Gets the value of the 'readComputationEnabled' field.long
getReadQuotaInCU()
Gets the value of the 'readQuotaInCU' field.int
getReadStrategy()
Gets the value of the 'readStrategy' field.int
getReplicationFactor()
Gets the value of the 'replicationFactor' field.int
getReplicationMetadataVersionID()
Gets the value of the 'replicationMetadataVersionID' field.boolean
getRmdChunkingEnabled()
Gets the value of the 'rmdChunkingEnabled' field.int
getRoutingStrategy()
Gets the value of the 'routingStrategy' field.org.apache.avro.Schema
getSchema()
boolean
getSchemaAutoRegisteFromPushJobEnabled()
Gets the value of the 'schemaAutoRegisteFromPushJobEnabled' field.boolean
getSeparateRealTimeTopicEnabled()
Gets the value of the 'separateRealTimeTopicEnabled' field.org.apache.avro.specific.SpecificData
getSpecificData()
boolean
getStorageNodeReadQuotaEnabled()
Gets the value of the 'storageNodeReadQuotaEnabled' field.long
getStorageQuotaInByte()
Gets the value of the 'storageQuotaInByte' field.boolean
getStoreMetadataSystemStoreEnabled()
Gets the value of the 'storeMetadataSystemStoreEnabled' field.boolean
getStoreMetaSystemStoreEnabled()
Gets the value of the 'storeMetaSystemStoreEnabled' field.java.util.Map<java.lang.CharSequence,SystemStoreProperties>
getSystemStores()
Gets the value of the 'systemStores' field.boolean
getUnusedSchemaDeletionEnabled()
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.boolean
getWriteComputationEnabled()
Gets the value of the 'writeComputationEnabled' field.void
put(int field$, java.lang.Object value$)
void
readExternal(java.io.ObjectInput in)
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
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(java.lang.CharSequence value)
Sets the value of the 'name' field.void
setNativeReplicationEnabled(boolean value)
Sets the value of the 'nativeReplicationEnabled' field.void
setNativeReplicationSourceFabric(java.lang.CharSequence value)
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(java.lang.CharSequence value)
Sets the value of the 'owner' field.void
setPartitionCount(int value)
Sets the value of the 'partitionCount' field.void
setPartitionerConfig(StorePartitionerConfig value)
Sets the value of the 'partitionerConfig' field.void
setPersistenceType(int value)
Sets the value of the 'persistenceType' field.void
setPushStreamSourceAddress(java.lang.CharSequence value)
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
setSystemStores(java.util.Map<java.lang.CharSequence,SystemStoreProperties> value)
Sets the value of the 'systemStores' field.void
setUnusedSchemaDeletionEnabled(boolean value)
Sets the value of the 'unusedSchemaDeletionEnabled' field.void
setVersions(java.util.List<StoreVersion> value)
Sets the value of the 'versions' field.void
setViews(java.util.Map<java.lang.CharSequence,StoreViewConfig> value)
Sets the value of the 'views' field.void
setWriteComputationEnabled(boolean value)
Sets the value of the 'writeComputationEnabled' field.void
writeExternal(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:
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
public java.lang.Object get(int field$)
- Specified by:
get
in interfaceorg.apache.avro.generic.IndexedRecord
- Specified by:
get
in classorg.apache.avro.specific.SpecificRecordBase
-
put
public void put(int field$, java.lang.Object value$)
- Specified by:
put
in interfaceorg.apache.avro.generic.IndexedRecord
- Specified by:
put
in 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:
writeExternal
in interfacejava.io.Externalizable
- Overrides:
writeExternal
in classorg.apache.avro.specific.SpecificRecordBase
- Throws:
java.io.IOException
-
readExternal
public void readExternal(java.io.ObjectInput in) throws java.io.IOException
- Specified by:
readExternal
in interfacejava.io.Externalizable
- Overrides:
readExternal
in classorg.apache.avro.specific.SpecificRecordBase
- Throws:
java.io.IOException
-
-