[
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)