[ https://issues.apache.org/jira/browse/IGNITE-20564?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Vyacheslav Koptilin updated IGNITE-20564: ----------------------------------------- Description: *Motivation* According to the results of IGNITE-20357 we need to refactor our node storage configurations with the usage of new abstraction {_}storage_profile{_}. Storage profile in general is a pair of two entities: - storage engine type - storage data space. It will be regions for {_}aipersist{_}, for example. >From configuration point of view: - Engine configurations must be still a part of separate configuration group - Storage profiles must be a part of separate configuration root *Implementation notes* Example: {code:java} rocksDb: flushDelayMillis: 1000 regions: lruRegion: cache: lru size: 256 clockRegion: cache: clock size: 512 aipersist: checkpoint: checkpointDelayMillis: 100 regions: segmentedRegion: replacementMode: SEGMENTED_LRU clockRegion: replacementMode: CLOCK {code} will transform to {code:java} storages: engines: aipersist: checkpoint: checkpointDelayMillis: 100 rocksDb: flushDelayMillis: 1000 profiles: lru_rocks: engine: rocksDb cache: lru size: 256 clock_rocks: engine: rocksDb cache: clock size: 512 segmented_aipersist: engine: aipersist replacementMode: SEGMENTED_LRU clock_aipersist: engine: aipersist replacementMode: CLOCK {code} *Definition of done* - All storage configurations migrated to storage profiles. was: *Motivation* According to the results of IGNITE-20357 we need to refactor our node storage configurations with the usage of new abstraction _storage_profile_. Storage profile in general is a pair of two entities: - storage engine type - storage data space. It will be regions for _aipersist_, for example. >From configuration point of view: - Engine configurations must be still a part of separate configuration group - Storage profiles must be a part of separate configuration root *Implementation notes* Example: {code} rocksDb: flushDelayMillis: 1000 regions: lruRegion: cache: lru size: 256 clockRegion: cache: clock size: 512 aipersist: checkpoint: checkpointDelayMillis: 100 regions: segmentedRegion: replacementMode: SEGMENTED_LRU clockRegion: replacementMode: CLOCK {code} will transform to {code} storages: engines: aipersist: checkpoint: checkpointDelayMillis: 100 rocksDb: flushDelayMillis: 1000 profiles: lru_rocks: engine: rocksDb cache: lru size: 256 clock_rocks: engine: rocksDb cache: clock size: 512 segmented_aipersist: engine: aipersist replacementMode: SEGMENTED_LRU clock_aipersist: engine: aipersist replacementMode: CLOCK {code} *Definition of done* - All storage configurations migrated to storage profiles > Implement storage profile configurations approach > ------------------------------------------------- > > Key: IGNITE-20564 > URL: https://issues.apache.org/jira/browse/IGNITE-20564 > Project: Ignite > Issue Type: Improvement > Reporter: Kirill Gusakov > Assignee: Kirill Gusakov > Priority: Major > Labels: ignite-3 > > *Motivation* > According to the results of IGNITE-20357 we need to refactor our node storage > configurations with the usage of new abstraction {_}storage_profile{_}. > Storage profile in general is a pair of two entities: > - storage engine type > - storage data space. It will be regions for {_}aipersist{_}, for example. > From configuration point of view: > - Engine configurations must be still a part of separate configuration group > - Storage profiles must be a part of separate configuration root > *Implementation notes* > Example: > {code:java} > rocksDb: > flushDelayMillis: 1000 > regions: > lruRegion: > cache: lru > size: 256 > clockRegion: > cache: clock > size: 512 > > aipersist: > checkpoint: > checkpointDelayMillis: 100 > regions: > segmentedRegion: > replacementMode: SEGMENTED_LRU > clockRegion: > replacementMode: CLOCK > {code} > will transform to > {code:java} > storages: > engines: > aipersist: > checkpoint: > checkpointDelayMillis: 100 > rocksDb: > flushDelayMillis: 1000 > profiles: > lru_rocks: > engine: rocksDb > cache: lru > size: 256 > > clock_rocks: > engine: rocksDb > cache: clock > size: 512 > > segmented_aipersist: > engine: aipersist > replacementMode: SEGMENTED_LRU > > clock_aipersist: > engine: aipersist > replacementMode: CLOCK > {code} > *Definition of done* > - All storage configurations migrated to storage profiles. -- This message was sent by Atlassian Jira (v8.20.10#820010)