[ 
https://issues.apache.org/jira/browse/IGNITE-6030?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16200050#comment-16200050
 ] 

Vladimir Ozerov commented on IGNITE-6030:
-----------------------------------------

[~ivan.glukos], my comments:
1) {{CacheConfiguration.setDataRegionName}} - why do we restrict null values? 
It is valid value which is used by default, no reason to restrict it.
2) {{CacheConfiguration.dataRegionName}} - getter and setter should be marked 
as Nullable.
3) {{DataStorageConfiguration}} - a lot of mentions of "page memory" in 
JavaDocs, but we do not have "page memory" any more.
4) {{DataStorageConfiguration.persistentStorePath}} - I am not sure this name 
is valid, neither are JavaDocs which refer to "Persistent Store" concept. Let's 
think on better name. "persistencePath" (do not like it much)?
5) {{DataStorageConfiguration.checkpointingFrequency}} -> 
{{checkpointFrequency}}
6) {{DataStorageConfiguration.checkpointingPageBufferSize}} -> 
{{checkpointPageBufferSize}}
7) {{DataStorageConfiguration.checkpointingThreads}} -> {{checkpointThreads}}
8) {{DataStorageConfiguration.walStorePath}} -> {{walPath}}? Otherwise it is 
not consistent with {{walArchivePath}}.
9) {{DataStorageConfiguration.rateTimeInterval}} -> {{metricsRateTimeInterval}}?
10) {{DataStorageConfiguration.subIntervals}} -> {{metricsSubIntervals}}? or 
even {{metricsSubIntervalCount}}?
11) {{DataStorageConfiguration.tlbSize}} -> {{walTlbSize}}? Also JavaDocs are 
very poor. What is the unit of measurement?
12) {{DataStorageConfiguration.alwaysWriteFullPages}} - missing JavaDocs.
13) {{DataRegionConfiguration.rateTimeInterval}} -> {{metricsRateTimeInterval}}?
14) {{DataRegionConfiguration.subIntervals}} -> {{metricsSubIntervals}}? or 
even {{metricsSubIntervalCount}}?
15) {{DataRegionConfiguration.isPersistenceEnabled}} JavaDocs - there is no 
concept of "Ignite Native Persistence".
16) {{IgniteConfiguration.isPersistentStoreEnabled}} - this method should not 
be located inside configuration at all, as it is not a part of public contract. 
Please deprecate the old one, and move this logic to internal space.
17) There is a lot of config XMLs with deprecated configuration (just do a 
full-text search for ".MemoryConfiguration" as example). All of them should be 
reworked to new API.

> Allow enabling persistence per-cache
> ------------------------------------
>
>                 Key: IGNITE-6030
>                 URL: https://issues.apache.org/jira/browse/IGNITE-6030
>             Project: Ignite
>          Issue Type: New Feature
>          Components: persistence
>    Affects Versions: 2.1
>            Reporter: Alexey Goncharuk
>            Assignee: Ivan Rakov
>            Priority: Critical
>              Labels: important
>             Fix For: 2.3
>
>
> Also, when cache native persistence is disabled, we need to make sure that 
> different {{CacheStores}} can be configured on per-cache basis.
> New storage configuration design draft:
> {noformat}
> DataStorageConfiguration
>       // memory configuration
>       getConcurrencyLevel
>       getDefaultDataRegionConfiguration
>       getDataRegionConfigurations
>       getPageSize
>       getSystemRegionInitialSize
>       getSystemRegionMaxSize
>       // persistence coniguration
>       getCheckpointingFrequency
>       getCheckpointingPageBufferSize
>       getCheckpointingThreads
>       getCheckpointWriteOrder
>       getFileIOFactory
>       getLockWaitTime
>       getPersistentStorePath
>       getRateTimeInterval
>       getSubIntervals
>       getTlbSize
>       getWalArchivePath
>       getWalAutoArchiveAfterInactivity
>       getWalFlushFrequency
>       getWalFsyncDelayNanos
>       getWalHistorySize
>       getWalMode
>       getWalRecordIteratorBufferSize
>       getWalSegments
>       getWalSegmentSize
>       getWalStorePath
>       isAlwaysWriteFullPages
>       isMetricsEnabled
>       isWriteThrottlingEnabled
> DataRegionConfiguration
>       // memory policy configuration
>       isPersistenceEnabled (default = false)
>       getEmptyPagesPoolSize
>       getEvictionThreshold
>       getInitialSize
>       getMaxSize
>       getName
>       getPageEvictionMode
>       getRateTimeInterval
>       getSubIntervals
>       getSwapFilePath
>       isMetricsEnabled
> {noformat}
> New metrics and MBean classes:
> {noformat}
> PersistenceMetrics -> DataStorageMetrics
> PersistenceMetricsMXBean -> DataStorageMetricsMXBean
> MemoryMetrics -> DataRegionMetrics
> MemoryMetricsMXBean -> DataRegionMetricsMXBean
> {noformat}
> Please note that old versions of all classes and methods are retained in 
> codebase as deprecated.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to