[
https://issues.apache.org/jira/browse/IGNITE-20564?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alexander Lapin updated IGNITE-20564:
-------------------------------------
Reviewer: Mirza Aliev
> 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
> Fix For: 3.0.0-beta2
>
> Time Spent: 50m
> Remaining Estimate: 0h
>
> *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)