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