IGNITE-6995 Visor CMD: Updated eviction policy factory in configs.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/47e7daf7 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/47e7daf7 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/47e7daf7 Branch: refs/heads/ignite-zk-ce Commit: 47e7daf7323ee49be53efb363f447d574bc7e222 Parents: 9f7bc54 Author: Alexey Kuznetsov <[email protected]> Authored: Wed Dec 13 23:33:05 2017 +0700 Committer: Alexey Kuznetsov <[email protected]> Committed: Wed Dec 13 23:33:05 2017 +0700 ---------------------------------------------------------------------- .../cache/VisorCacheEvictionConfiguration.java | 4 +- .../cache/VisorCacheNearConfiguration.java | 8 ++- .../internal/visor/util/VisorTaskUtils.java | 14 ++--- .../generator/AbstractTransformer.js | 8 +-- .../generator/ConfigurationGenerator.js | 66 ++++++++++++-------- .../generator/PlatformGenerator.js | 6 +- .../generator/defaults/Cache.service.js | 14 +---- .../frontend/app/services/Version.service.js | 4 ++ 8 files changed, 66 insertions(+), 58 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/47e7daf7/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheEvictionConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheEvictionConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheEvictionConfiguration.java index 7792d8e..496c609 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheEvictionConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheEvictionConfiguration.java @@ -20,7 +20,7 @@ package org.apache.ignite.internal.visor.cache; import java.io.IOException; import java.io.ObjectInput; import java.io.ObjectOutput; -import org.apache.ignite.cache.eviction.EvictionPolicy; +import javax.cache.configuration.Factory; import org.apache.ignite.configuration.CacheConfiguration; import org.apache.ignite.internal.util.typedef.internal.S; import org.apache.ignite.internal.util.typedef.internal.U; @@ -58,7 +58,7 @@ public class VisorCacheEvictionConfiguration extends VisorDataTransferObject { * @param ccfg Cache configuration. */ public VisorCacheEvictionConfiguration(CacheConfiguration ccfg) { - final EvictionPolicy evictionPlc = ccfg.getEvictionPolicy(); + final Factory evictionPlc = ccfg.getEvictionPolicyFactory(); plc = compactClass(evictionPlc); plcMaxSize = evictionPolicyMaxSize(evictionPlc); http://git-wip-us.apache.org/repos/asf/ignite/blob/47e7daf7/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheNearConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheNearConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheNearConfiguration.java index a4cd3d9..a7b431c 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheNearConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheNearConfiguration.java @@ -20,7 +20,7 @@ package org.apache.ignite.internal.visor.cache; import java.io.IOException; import java.io.ObjectInput; import java.io.ObjectOutput; -import org.apache.ignite.cache.eviction.EvictionPolicy; +import javax.cache.configuration.Factory; import org.apache.ignite.configuration.CacheConfiguration; import org.apache.ignite.configuration.NearCacheConfiguration; import org.apache.ignite.internal.processors.cache.GridCacheUtils; @@ -69,9 +69,11 @@ public class VisorCacheNearConfiguration extends VisorDataTransferObject { if (nearEnabled) { NearCacheConfiguration nccfg = ccfg.getNearConfiguration(); + final Factory nearEvictionPlc = nccfg.getNearEvictionPolicyFactory(); + nearStartSize = nccfg.getNearStartSize(); - nearEvictPlc = compactClass(nccfg.getNearEvictionPolicy()); - nearEvictMaxSize = evictionPolicyMaxSize(nccfg.getNearEvictionPolicy()); + nearEvictPlc = compactClass(nearEvictionPlc); + nearEvictMaxSize = evictionPolicyMaxSize(nearEvictionPlc); } } http://git-wip-us.apache.org/repos/asf/ignite/blob/47e7daf7/modules/core/src/main/java/org/apache/ignite/internal/visor/util/VisorTaskUtils.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/util/VisorTaskUtils.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/util/VisorTaskUtils.java index fda801c..0da7a34 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/util/VisorTaskUtils.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/util/VisorTaskUtils.java @@ -50,13 +50,12 @@ import java.util.concurrent.ConcurrentMap; import java.util.concurrent.atomic.AtomicBoolean; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; +import javax.cache.configuration.Factory; import org.apache.ignite.Ignite; import org.apache.ignite.IgniteCheckedException; import org.apache.ignite.IgniteFileSystem; import org.apache.ignite.IgniteLogger; -import org.apache.ignite.cache.eviction.EvictionPolicy; -import org.apache.ignite.cache.eviction.fifo.FifoEvictionPolicyMBean; -import org.apache.ignite.cache.eviction.lru.LruEvictionPolicyMBean; +import org.apache.ignite.cache.eviction.AbstractEvictionPolicyFactory; import org.apache.ignite.cluster.ClusterNode; import org.apache.ignite.events.Event; import org.apache.ignite.internal.processors.igfs.IgfsEx; @@ -759,12 +758,9 @@ public class VisorTaskUtils { * @param plc Eviction policy. * @return Extracted max size. */ - public static Integer evictionPolicyMaxSize(@Nullable EvictionPolicy plc) { - if (plc instanceof LruEvictionPolicyMBean) - return ((LruEvictionPolicyMBean)plc).getMaxSize(); - - if (plc instanceof FifoEvictionPolicyMBean) - return ((FifoEvictionPolicyMBean)plc).getMaxSize(); + public static Integer evictionPolicyMaxSize(@Nullable Factory plc) { + if (plc instanceof AbstractEvictionPolicyFactory) + return ((AbstractEvictionPolicyFactory) plc).getMaxSize(); return null; } http://git-wip-us.apache.org/repos/asf/ignite/blob/47e7daf7/modules/web-console/frontend/app/modules/configuration/generator/AbstractTransformer.js ---------------------------------------------------------------------- diff --git a/modules/web-console/frontend/app/modules/configuration/generator/AbstractTransformer.js b/modules/web-console/frontend/app/modules/configuration/generator/AbstractTransformer.js index af799bd..339dbea 100644 --- a/modules/web-console/frontend/app/modules/configuration/generator/AbstractTransformer.js +++ b/modules/web-console/frontend/app/modules/configuration/generator/AbstractTransformer.js @@ -284,13 +284,13 @@ export default class AbstractTransformer { } // Generate server near cache group. - static cacheNearServer(cache) { - return this.toSection(this.generator.cacheNearServer(cache)); + static cacheNearServer(cache, available) { + return this.toSection(this.generator.cacheNearServer(cache, available)); } // Generate client near cache group. - static cacheNearClient(cache) { - return this.toSection(this.generator.cacheNearClient(cache)); + static cacheNearClient(cache, available) { + return this.toSection(this.generator.cacheNearClient(cache, available)); } // Generate cache statistics group. http://git-wip-us.apache.org/repos/asf/ignite/blob/47e7daf7/modules/web-console/frontend/app/modules/configuration/generator/ConfigurationGenerator.js ---------------------------------------------------------------------- diff --git a/modules/web-console/frontend/app/modules/configuration/generator/ConfigurationGenerator.js b/modules/web-console/frontend/app/modules/configuration/generator/ConfigurationGenerator.js index 16202f8..0c40890 100644 --- a/modules/web-console/frontend/app/modules/configuration/generator/ConfigurationGenerator.js +++ b/modules/web-console/frontend/app/modules/configuration/generator/ConfigurationGenerator.js @@ -1887,34 +1887,52 @@ export default class IgniteConfigurationGenerator { * @returns {Object} Parent configuration. * @private */ - static _evictionPolicy(ccfg, name, src, dflt) { - let bean; + static _evictionPolicy(ccfg, available, near, src, dflt) { + let propName; + let beanProps; - switch (_.get(src, 'kind')) { - case 'LRU': - bean = new Bean('org.apache.ignite.cache.eviction.lru.LruEvictionPolicy', 'evictionPlc', - src.LRU, dflt.LRU); + if (available('2.4.0')) { + switch (_.get(src, 'kind')) { + case 'LRU': beanProps = {cls: 'org.apache.ignite.cache.eviction.lru.LruEvictionPolicyFactory', src: src.LRU }; + break; - break; - case 'FIFO': - bean = new Bean('org.apache.ignite.cache.eviction.fifo.FifoEvictionPolicy', 'evictionPlc', - src.FIFO, dflt.FIFO); + case 'FIFO': beanProps = {cls: 'org.apache.ignite.cache.eviction.fifo.FifoEvictionPolicyFactory', src: src.FIFO }; + break; - break; - case 'SORTED': - bean = new Bean('org.apache.ignite.cache.eviction.sorted.SortedEvictionPolicy', 'evictionPlc', - src.SORTED, dflt.SORTED); + case 'SORTED': beanProps = {cls: 'org.apache.ignite.cache.eviction.sorted.SortedEvictionPolicyFactory', src: src.SORTED }; + break; - break; - default: - return ccfg; + default: + return ccfg; + } + + propName = (near ? 'nearEviction' : 'eviction') + 'PolicyFactory'; } + else { + switch (_.get(src, 'kind')) { + case 'LRU': beanProps = {cls: 'org.apache.ignite.cache.eviction.lru.LruEvictionPolicy', src: src.LRU }; + break; + + case 'FIFO': beanProps = {cls: 'org.apache.ignite.cache.eviction.fifo.FifoEvictionPolicy', src: src.FIFO }; + break; + + case 'SORTED': beanProps = {cls: 'org.apache.ignite.cache.eviction.sorted.SortedEvictionPolicy', src: src.SORTED }; + break; + + default: + return ccfg; + } + + propName = (near ? 'nearEviction' : 'eviction') + 'Policy'; + } + + const bean = new Bean(beanProps.cls, 'evictionPlc', beanProps.src, dflt); bean.intProperty('batchSize') .intProperty('maxMemorySize') .intProperty('maxSize'); - ccfg.beanProperty(name, bean); + ccfg.beanProperty(propName, bean); return ccfg; } @@ -2013,7 +2031,7 @@ export default class IgniteConfigurationGenerator { .emptyBeanProperty('evictionFilter'); } - this._evictionPolicy(ccfg, 'evictionPolicy', cache.evictionPolicy, cacheDflts.evictionPolicy); + this._evictionPolicy(ccfg, available, false, cache.evictionPolicy, cacheDflts.evictionPolicy); // Removed in ignite 2.0 if (available(['1.0.0', '2.0.0'])) { @@ -2249,15 +2267,14 @@ export default class IgniteConfigurationGenerator { } // Generate server near cache group. - static cacheNearServer(cache, ccfg = this.cacheConfigurationBean(cache)) { + static cacheNearServer(cache, available, ccfg = this.cacheConfigurationBean(cache)) { if (ccfg.valueOf('cacheMode') === 'PARTITIONED' && _.get(cache, 'nearConfiguration.enabled')) { const bean = new Bean('org.apache.ignite.configuration.NearCacheConfiguration', 'nearConfiguration', cache.nearConfiguration, cacheDflts.nearConfiguration); bean.intProperty('nearStartSize'); - this._evictionPolicy(bean, 'nearEvictionPolicy', - bean.valueOf('nearEvictionPolicy'), cacheDflts.evictionPolicy); + this._evictionPolicy(bean, available, true, bean.valueOf('nearEvictionPolicy'), cacheDflts.evictionPolicy); ccfg.beanProperty('nearConfiguration', bean); } @@ -2266,7 +2283,7 @@ export default class IgniteConfigurationGenerator { } // Generate client near cache group. - static cacheNearClient(cache, ccfg = this.cacheConfigurationBean(cache)) { + static cacheNearClient(cache, available, ccfg = this.cacheConfigurationBean(cache)) { if (ccfg.valueOf('cacheMode') === 'PARTITIONED' && _.get(cache, 'clientNearConfiguration.enabled')) { const bean = new Bean('org.apache.ignite.configuration.NearCacheConfiguration', javaTypes.toJavaName('nearConfiguration', ccfg.valueOf('name')), @@ -2274,8 +2291,7 @@ export default class IgniteConfigurationGenerator { bean.intProperty('nearStartSize'); - this._evictionPolicy(bean, 'nearEvictionPolicy', - bean.valueOf('nearEvictionPolicy'), cacheDflts.evictionPolicy); + this._evictionPolicy(bean, available, true, bean.valueOf('nearEvictionPolicy'), cacheDflts.evictionPolicy); return bean; } http://git-wip-us.apache.org/repos/asf/ignite/blob/47e7daf7/modules/web-console/frontend/app/modules/configuration/generator/PlatformGenerator.js ---------------------------------------------------------------------- diff --git a/modules/web-console/frontend/app/modules/configuration/generator/PlatformGenerator.js b/modules/web-console/frontend/app/modules/configuration/generator/PlatformGenerator.js index 234c7ec..2f652d4 100644 --- a/modules/web-console/frontend/app/modules/configuration/generator/PlatformGenerator.js +++ b/modules/web-console/frontend/app/modules/configuration/generator/PlatformGenerator.js @@ -291,13 +291,13 @@ export default ['JavaTypes', 'igniteClusterPlatformDefaults', 'igniteCachePlatfo } // Generate cache memory group. - static cacheMemory(cache, ccfg = this.cacheConfigurationBean(cache)) { + static cacheMemory(cache, available, ccfg = this.cacheConfigurationBean(cache)) { ccfg.enumProperty('memoryMode'); if (ccfg.valueOf('memoryMode') !== 'OFFHEAP_VALUES') ccfg.intProperty('offHeapMaxMemory'); - // this._evictionPolicy(ccfg, 'evictionPolicy', cache.evictionPolicy, cacheDflts.evictionPolicy); + // this._evictionPolicy(ccfg, available, false, cache.evictionPolicy, cacheDflts.evictionPolicy); ccfg.intProperty('startSize') .boolProperty('swapEnabled', 'EnableSwap'); @@ -483,7 +483,7 @@ export default ['JavaTypes', 'igniteClusterPlatformDefaults', 'igniteCachePlatfo bean.intProperty('nearStartSize'); - this._evictionPolicy(bean, 'nearEvictionPolicy', + this._evictionPolicy(bean, true, bean.valueOf('nearEvictionPolicy'), cacheDflts.evictionPolicy); ccfg.beanProperty('nearConfiguration', bean); http://git-wip-us.apache.org/repos/asf/ignite/blob/47e7daf7/modules/web-console/frontend/app/modules/configuration/generator/defaults/Cache.service.js ---------------------------------------------------------------------- diff --git a/modules/web-console/frontend/app/modules/configuration/generator/defaults/Cache.service.js b/modules/web-console/frontend/app/modules/configuration/generator/defaults/Cache.service.js index ad5b88a..3f87b8a 100644 --- a/modules/web-console/frontend/app/modules/configuration/generator/defaults/Cache.service.js +++ b/modules/web-console/frontend/app/modules/configuration/generator/defaults/Cache.service.js @@ -85,18 +85,8 @@ const DFLT_CACHE = { nearStartSize: 375000 }, evictionPolicy: { - LRU: { - batchSize: 1, - maxSize: 100000 - }, - FIFO: { - batchSize: 1, - maxSize: 100000 - }, - SORTED: { - batchSize: 1, - maxSize: 100000 - } + batchSize: 1, + maxSize: 100000 }, queryMetadata: 'Configuration', queryDetailMetricsSize: 0, http://git-wip-us.apache.org/repos/asf/ignite/blob/47e7daf7/modules/web-console/frontend/app/services/Version.service.js ---------------------------------------------------------------------- diff --git a/modules/web-console/frontend/app/services/Version.service.js b/modules/web-console/frontend/app/services/Version.service.js index 8b67eb7..22d0732 100644 --- a/modules/web-console/frontend/app/services/Version.service.js +++ b/modules/web-console/frontend/app/services/Version.service.js @@ -77,6 +77,10 @@ export default class IgniteVersion { this.supportedVersions = [ { + label: 'Ignite 2.4', + ignite: '2.4.0' + }, + { label: 'Ignite 2.3', ignite: '2.3.0' },
