You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2017/12/15 14:10:01 UTC

[31/50] [abbrv] ignite git commit: IGNITE-6995 Visor CMD: Updated eviction policy factory in configs.

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 <ak...@apache.org>
Authored: Wed Dec 13 23:33:05 2017 +0700
Committer: Alexey Kuznetsov <ak...@apache.org>
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'
             },