ignite-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From akuznet...@apache.org
Subject [01/11] ignite git commit: IGNITE-4988 Cleanup and refactor VisorXxx tasks and DTO for ignite-2.0
Date Fri, 14 Apr 2017 13:54:29 GMT
Repository: ignite
Updated Branches:
  refs/heads/master 8b56a43f2 -> 12dfe9e87


http://git-wip-us.apache.org/repos/asf/ignite/blob/12dfe9e8/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 3751f5c..f88736a 100644
--- a/modules/web-console/frontend/app/modules/configuration/generator/ConfigurationGenerator.js
+++ b/modules/web-console/frontend/app/modules/configuration/generator/ConfigurationGenerator.js
@@ -82,7 +82,6 @@ export default class IgniteConfigurationGenerator {
         this.clusterODBC(cluster.odbc, cfg);
         this.clusterMarshaller(cluster, cfg);
         this.clusterMetrics(cluster, cfg);
-        this.clusterSwap(cluster, cfg);
         this.clusterTime(cluster, cfg);
         this.clusterPools(cluster, cfg);
         this.clusterTransactions(cluster.transactionConfiguration, cfg);
@@ -1209,9 +1208,7 @@ export default class IgniteConfigurationGenerator {
         if (bean)
             cfg.beanProperty('marshaller', bean);
 
-        cfg.intProperty('marshalLocalJobs')
-            .intProperty('marshallerCacheKeepAliveTime')
-            .intProperty('marshallerCacheThreadPoolSize', 'marshallerCachePoolSize');
+        cfg.intProperty('marshalLocalJobs');
 
         return cfg;
     }
@@ -1248,14 +1245,14 @@ export default class IgniteConfigurationGenerator {
             const bean = new Bean('org.apache.ignite.ssl.SslContextFactory', 'sslCtxFactory',
                 cluster.sslContextFactory);
 
-            bean.intProperty('keyAlgorithm')
+            bean.stringProperty('keyAlgorithm')
                 .pathProperty('keyStoreFilePath');
 
             if (_.nonEmpty(bean.valueOf('keyStoreFilePath')))
                 bean.propertyChar('keyStorePassword', 'ssl.key.storage.password', 'YOUR_SSL_KEY_STORAGE_PASSWORD');
 
-            bean.intProperty('keyStoreType')
-                .intProperty('protocol');
+            bean.stringProperty('keyStoreType')
+                .stringProperty('protocol');
 
             if (_.nonEmpty(cluster.sslContextFactory.trustManagers)) {
                 bean.arrayProperty('trustManagers', 'trustManagers',
@@ -1268,7 +1265,7 @@ export default class IgniteConfigurationGenerator {
                 if (_.nonEmpty(bean.valueOf('trustStoreFilePath')))
                     bean.propertyChar('trustStorePassword', 'ssl.trust.storage.password', 'YOUR_SSL_TRUST_STORAGE_PASSWORD');
 
-                bean.intProperty('trustStoreType');
+                bean.stringProperty('trustStoreType');
             }
 
             cfg.beanProperty('sslContextFactory', bean);
@@ -1277,24 +1274,6 @@ export default class IgniteConfigurationGenerator {
         return cfg;
     }
 
-    // Generate swap group.
-    static clusterSwap(cluster, cfg = this.igniteConfigurationBean(cluster)) {
-        if (_.get(cluster.swapSpaceSpi, 'kind') === 'FileSwapSpaceSpi') {
-            const bean = new Bean('org.apache.ignite.spi.swapspace.file.FileSwapSpaceSpi', 'swapSpaceSpi',
-                cluster.swapSpaceSpi.FileSwapSpaceSpi);
-
-            bean.pathProperty('baseDirectory')
-                .intProperty('readStripesNumber')
-                .floatProperty('maximumSparsity')
-                .intProperty('maxWriteQueueSize')
-                .intProperty('writeBufferSize');
-
-            cfg.beanProperty('swapSpaceSpi', bean);
-        }
-
-        return cfg;
-    }
-
     // Generate time group.
     static clusterTime(cluster, cfg = this.igniteConfigurationBean(cluster)) {
         cfg.intProperty('clockSyncSamples')
@@ -1461,6 +1440,8 @@ export default class IgniteConfigurationGenerator {
                 .intProperty('readFromBackup');
         }
 
+        ccfg.enumProperty('partitionLossPolicy');
+
         ccfg.intProperty('copyOnRead');
 
         if (ccfg.valueOf('cacheMode') === 'PARTITIONED' && ccfg.valueOf('atomicityMode') === 'TRANSACTIONAL')
@@ -1506,15 +1487,9 @@ export default class IgniteConfigurationGenerator {
 
     // Generate cache memory group.
     static cacheMemory(cache, ccfg = this.cacheConfigurationBean(cache)) {
-        ccfg.enumProperty('memoryMode');
-
-        if (ccfg.valueOf('memoryMode') !== 'OFFHEAP_VALUES')
-            ccfg.intProperty('offHeapMaxMemory');
-
         this._evictionPolicy(ccfg, 'evictionPolicy', cache.evictionPolicy, cacheDflts.evictionPolicy);
 
-        ccfg.intProperty('startSize')
-            .boolProperty('swapEnabled');
+        ccfg.intProperty('startSize');
 
         return ccfg;
     }
@@ -1533,6 +1508,7 @@ export default class IgniteConfigurationGenerator {
             .intProperty('longQueryWarningTimeout')
             .arrayProperty('indexedTypes', 'indexedTypes', indexedTypes, 'java.lang.Class')
             .intProperty('queryDetailMetricsSize')
+            .intProperty('queryParallelism')
             .arrayProperty('sqlFunctionClasses', 'sqlFunctionClasses', cache.sqlFunctionClasses, 'java.lang.Class')
             .intProperty('snapshotableIndex')
             .intProperty('sqlEscapeAll');
@@ -1876,7 +1852,7 @@ export default class IgniteConfigurationGenerator {
     // Generate IGFS miscellaneous group.
     static igfsMisc(igfs, cfg = this.igfsConfigurationBean(igfs)) {
         cfg.intProperty('blockSize')
-            .intProperty('streamBufferSize')
+            .intProperty('bufferSize')
             .intProperty('maxSpaceSize')
             .intProperty('maximumTaskRangeLength')
             .intProperty('managementPort')

http://git-wip-us.apache.org/repos/asf/ignite/blob/12dfe9e8/modules/web-console/frontend/app/modules/configuration/generator/JavaTransformer.service.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/configuration/generator/JavaTransformer.service.js b/modules/web-console/frontend/app/modules/configuration/generator/JavaTransformer.service.js
index 9590779..df10b23 100644
--- a/modules/web-console/frontend/app/modules/configuration/generator/JavaTransformer.service.js
+++ b/modules/web-console/frontend/app/modules/configuration/generator/JavaTransformer.service.js
@@ -778,6 +778,9 @@ export default class IgniteJavaTransformer extends AbstractTransformer {
                     if (this._isBean(prop.typeClsName))
                         _.forEach(prop.items, (item) => imports.push(...this.collectBeanImports(item)));
 
+                    if (prop.typeClsName === 'java.lang.Class')
+                        _.forEach(prop.items, (item) => imports.push(item));
+
                     break;
                 case 'COLLECTION':
                     imports.push(prop.typeClsName);

http://git-wip-us.apache.org/repos/asf/ignite/blob/12dfe9e8/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 b076193..a78f078 100644
--- a/modules/web-console/frontend/app/modules/configuration/generator/PlatformGenerator.js
+++ b/modules/web-console/frontend/app/modules/configuration/generator/PlatformGenerator.js
@@ -282,6 +282,8 @@ export default ['JavaTypes', 'igniteClusterPlatformDefaults', 'igniteCachePlatfo
                     .intProperty('readFromBackup');
             }
 
+            ccfg.enumProperty('partitionLossPolicy');
+
             ccfg.intProperty('copyOnRead');
 
             if (ccfg.valueOf('cacheMode') === 'PARTITIONED' && ccfg.valueOf('atomicityMode') === 'TRANSACTIONAL')
@@ -292,15 +294,9 @@ export default ['JavaTypes', 'igniteClusterPlatformDefaults', 'igniteCachePlatfo
 
         // Generate cache memory group.
         static cacheMemory(cache, ccfg = this.cacheConfigurationBean(cache)) {
-            ccfg.enumProperty('memoryMode');
-
-            if (ccfg.valueOf('memoryMode') !== 'OFFHEAP_VALUES')
-                ccfg.intProperty('offHeapMaxMemory');
-
             // this._evictionPolicy(ccfg, 'evictionPolicy', cache.evictionPolicy, cacheDflts.evictionPolicy);
 
-            ccfg.intProperty('startSize')
-                .boolProperty('swapEnabled', 'EnableSwap');
+            ccfg.intProperty('startSize');
 
             return ccfg;
         }

http://git-wip-us.apache.org/repos/asf/ignite/blob/12dfe9e8/modules/web-console/frontend/app/modules/configuration/generator/defaults/Cache.platform.service.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/configuration/generator/defaults/Cache.platform.service.js b/modules/web-console/frontend/app/modules/configuration/generator/defaults/Cache.platform.service.js
index eeac3a0..3253ba9 100644
--- a/modules/web-console/frontend/app/modules/configuration/generator/defaults/Cache.platform.service.js
+++ b/modules/web-console/frontend/app/modules/configuration/generator/defaults/Cache.platform.service.js
@@ -28,11 +28,6 @@ const DFLT_CACHE = {
         clsName: 'Apache.Ignite.Core.Cache.Configuration.CacheAtomicityMode',
         mapper: enumValueMapper
     },
-    memoryMode: {
-        clsName: 'Apache.Ignite.Core.Cache.Configuration.CacheMemoryMode',
-        value: 'ONHEAP_TIERED',
-        mapper: enumValueMapper
-    },
     atomicWriteOrderMode: {
         clsName: 'org.apache.ignite.cache.CacheAtomicWriteOrderMode',
         mapper: enumValueMapper

http://git-wip-us.apache.org/repos/asf/ignite/blob/12dfe9e8/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 14b315f..1a4c7c9 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
@@ -22,13 +22,11 @@ const DFLT_CACHE = {
     atomicityMode: {
         clsName: 'org.apache.ignite.cache.CacheAtomicityMode'
     },
-    memoryMode: {
-        clsName: 'org.apache.ignite.cache.CacheMemoryMode',
-        value: 'ONHEAP_TIERED'
+    partitionLossPolicy: {
+        clsName: 'org.apache.ignite.cache.PartitionLossPolicy',
+        value: 'IGNORE'
     },
-    offHeapMaxMemory: -1,
     startSize: 1500000,
-    swapEnabled: false,
     sqlOnheapRowCacheSize: 10240,
     longQueryWarningTimeout: 3000,
     snapshotableIndex: false,
@@ -93,6 +91,8 @@ const DFLT_CACHE = {
         }
     },
     queryMetadata: 'Configuration',
+    queryDetailMetricsSize: 0,
+    queryParallelism: 1,
     fields: {
         keyClsName: 'java.lang.String',
         valClsName: 'java.lang.String',

http://git-wip-us.apache.org/repos/asf/ignite/blob/12dfe9e8/modules/web-console/frontend/app/modules/configuration/generator/defaults/Cluster.service.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/configuration/generator/defaults/Cluster.service.js b/modules/web-console/frontend/app/modules/configuration/generator/defaults/Cluster.service.js
index b2e91c8..8dcd6bc 100644
--- a/modules/web-console/frontend/app/modules/configuration/generator/defaults/Cluster.service.js
+++ b/modules/web-console/frontend/app/modules/configuration/generator/defaults/Cluster.service.js
@@ -183,7 +183,6 @@ const DFLT_CLUSTER = {
         }
     },
     marshalLocalJobs: false,
-    marshallerCacheKeepAliveTime: 10000,
     metricsHistorySize: 10000,
     metricsLogFrequency: 60000,
     metricsUpdateFrequency: 2000,

http://git-wip-us.apache.org/repos/asf/ignite/blob/12dfe9e8/modules/web-console/frontend/app/modules/configuration/generator/defaults/IGFS.service.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/configuration/generator/defaults/IGFS.service.js b/modules/web-console/frontend/app/modules/configuration/generator/defaults/IGFS.service.js
index 985a56e..7cdc59a 100644
--- a/modules/web-console/frontend/app/modules/configuration/generator/defaults/IGFS.service.js
+++ b/modules/web-console/frontend/app/modules/configuration/generator/defaults/IGFS.service.js
@@ -38,7 +38,7 @@ const DFLT_IGFS = {
     dualModeMaxPendingPutsSize: 0,
     dualModePutExecutorServiceShutdown: false,
     blockSize: 65536,
-    streamBufferSize: 65536,
+    bufferSize: 65536,
     maxSpaceSize: 0,
     maximumTaskRangeLength: 0,
     managementPort: 11400,

http://git-wip-us.apache.org/repos/asf/ignite/blob/12dfe9e8/modules/web-console/frontend/app/modules/sql/sql.controller.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/sql/sql.controller.js b/modules/web-console/frontend/app/modules/sql/sql.controller.js
index b1cd3d0..11700dd 100644
--- a/modules/web-console/frontend/app/modules/sql/sql.controller.js
+++ b/modules/web-console/frontend/app/modules/sql/sql.controller.js
@@ -26,12 +26,6 @@ const TIME_LINE = {value: -1, type: 'java.sql.Date', label: 'TIME_LINE'};
 // Row index X axis descriptor.
 const ROW_IDX = {value: -2, type: 'java.lang.Integer', label: 'ROW_IDX'};
 
-/** Prefix for node local key for SCAN near queries. */
-const SCAN_CACHE_WITH_FILTER = 'VISOR_SCAN_CACHE_WITH_FILTER';
-
-/** Prefix for node local key for SCAN near queries. */
-const SCAN_CACHE_WITH_FILTER_CASE_SENSITIVE = 'VISOR_SCAN_CACHE_WITH_FILTER_CASE_SENSITIVE';
-
 const NON_COLLOCATED_JOINS_SINCE = '1.7.0';
 
 const ENFORCE_JOIN_VERS = [['1.7.9', '1.8.0'], ['1.8.4', '1.9.0'], ['1.9.1']];
@@ -1493,11 +1487,12 @@ export default ['$rootScope', '$scope', '$http', '$q', '$timeout', '$interval',
         };
 
         $scope.scan = (paragraph, local = false) => {
-            const {filter, caseSensitive} = paragraph;
-            const prefix = caseSensitive ? SCAN_CACHE_WITH_FILTER_CASE_SENSITIVE : SCAN_CACHE_WITH_FILTER;
-            const query = `${prefix}${filter}`;
+            const cacheName = paragraph.cacheName;
+            const filter = paragraph.filter;
+            const caseSensitive = !!paragraph.caseSensitive;
+            const pageSize = paragraph.pageSize;
 
-            $scope.actionAvailable(paragraph, false) && _chooseNode(paragraph.cacheName, local)
+            $scope.actionAvailable(paragraph, false) && _chooseNode(cacheName, local)
                 .then((nid) => {
                     Notebook.save($scope.notebook)
                         .catch(Messages.showError);
@@ -1508,18 +1503,20 @@ export default ['$rootScope', '$scope', '$http', '$q', '$timeout', '$interval',
 
                     _closeOldQuery(paragraph)
                         .then(() => {
-                            const args = paragraph.queryArgs = {
+                            paragraph.queryArgs = {
                                 type: 'SCAN',
-                                cacheName: paragraph.cacheName,
-                                query,
+                                cacheName,
                                 filter,
-                                pageSize: paragraph.pageSize,
+                                regEx: false,
+                                caseSensitive,
+                                near: false,
+                                pageSize,
                                 localNid: local ? nid : null
                             };
 
                             ActivitiesData.post({ action: '/queries/scan' });
 
-                            return agentMonitor.query(nid, args.cacheName, query, false, false, local, args.pageSize);
+                            return agentMonitor.scan(nid, cacheName, filter, false, caseSensitive, false, local, pageSize);
                         })
                         .then((res) => _processQueryResult(paragraph, true, res))
                         .catch((err) => {
@@ -1640,8 +1637,10 @@ export default ['$rootScope', '$scope', '$http', '$q', '$timeout', '$interval',
             const args = paragraph.queryArgs;
 
             return Promise.resolve(args.localNid || _chooseNode(args.cacheName, false))
-                .then((nid) => agentMonitor.queryGetAll(nid, args.cacheName, args.query, !!args.nonCollocatedJoins,
-                    !!args.enforceJoinOrder, !!args.localNid))
+                .then((nid) =>
+                    args.type === 'SCAN'
+                        ? agentMonitor.scanGetAll(nid, args.cacheName, args.filter, !!args.regEx, !!args.caseSensitive, !!args.near, !!args.localNid)
+                        : agentMonitor.queryGetAll(nid, args.cacheName, args.query, !!args.nonCollocatedJoins, !!args.enforceJoinOrder, !!args.localNid))
                 .then((res) => _export(paragraph.name + '-all.csv', paragraph.gridOptions.columnDefs, res.columns, res.rows))
                 .catch(Messages.showError)
                 .then(() => paragraph.ace && paragraph.ace.focus());
@@ -1755,21 +1754,15 @@ export default ['$rootScope', '$scope', '$http', '$q', '$timeout', '$interval',
             if (!_.isNil(paragraph)) {
                 const scope = $scope.$new();
 
-                if (_.isNil(paragraph.queryArgs.query)) {
-                    scope.title = 'SCAN query';
-                    scope.content = [`SCAN query for cache: <b>${maskCacheName(paragraph.queryArgs.cacheName, true)}</b>`];
-                }
-                else if (paragraph.queryArgs.query.startsWith(SCAN_CACHE_WITH_FILTER)) {
+                if (paragraph.queryArgs.type === 'SCAN') {
                     scope.title = 'SCAN query';
 
-                    let filter = '';
+                    const filter = paragraph.queryArgs.filter;
 
-                    if (paragraph.queryArgs.query.startsWith(SCAN_CACHE_WITH_FILTER_CASE_SENSITIVE))
-                        filter = paragraph.queryArgs.query.substr(SCAN_CACHE_WITH_FILTER_CASE_SENSITIVE.length);
+                    if (_.isEmpty(filter))
+                        scope.content = [`SCAN query for cache: <b>${maskCacheName(paragraph.queryArgs.cacheName, true)}</b>`];
                     else
-                        filter = paragraph.queryArgs.query.substr(SCAN_CACHE_WITH_FILTER.length);
-
-                    scope.content = [`SCAN query for cache: <b>${maskCacheName(paragraph.queryArgs.cacheName, true)}</b> with filter: <b>${filter}</b>`];
+                        scope.content = [`SCAN query for cache: <b>${maskCacheName(paragraph.queryArgs.cacheName, true)}</b> with filter: <b>${filter}</b>`];
                 }
                 else if (paragraph.queryArgs.query .startsWith('EXPLAIN ')) {
                     scope.title = 'Explain query';
@@ -1794,9 +1787,12 @@ export default ['$rootScope', '$scope', '$http', '$q', '$timeout', '$interval',
 
                 let cause = paragraph.error.root;
 
+                const tab = '&nbsp;&nbsp;&nbsp;&nbsp;';
+
                 while (_.nonNil(cause)) {
-                    scope.content.push((scope.content.length > 0 ? '&nbsp;&nbsp;&nbsp;&nbsp;' : '') +
-                        '[' + JavaTypes.shortClassName(cause.className) + '] ' + cause.message);
+                    const clsName = _.isEmpty(cause.className) ? '' : '[' + JavaTypes.shortClassName(cause.className) + '] ';
+
+                    scope.content.push((scope.content.length > 0 ? tab : '') + clsName + cause.message);
 
                     cause = cause.cause;
                 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/12dfe9e8/modules/web-console/frontend/app/modules/states/configuration/caches/affinity.pug
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/states/configuration/caches/affinity.pug b/modules/web-console/frontend/app/modules/states/configuration/caches/affinity.pug
index 70b90bd..14857fc 100644
--- a/modules/web-console/frontend/app/modules/states/configuration/caches/affinity.pug
+++ b/modules/web-console/frontend/app/modules/states/configuration/caches/affinity.pug
@@ -33,7 +33,7 @@ include /app/helpers/jade/mixins
         label Affinity Collocation
         ignite-form-field-tooltip.tipLabel
             | Collocate data with data to improve performance and scalability of your application#[br]
-            | #[a(href="http://apacheignite.gridgain.org/docs/affinity-collocation" target="_blank") More info]
+            | #[a(href="http://apacheignite.readme.io/docs/affinity-collocation" target="_blank") More info]
         ignite-form-revert
     .panel-collapse(role='tabpanel' bs-collapse-target id=`${form}`)
         .panel-body(ng-if=`ui.isPanelLoaded('${form}')`)

http://git-wip-us.apache.org/repos/asf/ignite/blob/12dfe9e8/modules/web-console/frontend/app/modules/states/configuration/caches/general.pug
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/states/configuration/caches/general.pug b/modules/web-console/frontend/app/modules/states/configuration/caches/general.pug
index 89676f2..2be5c53 100644
--- a/modules/web-console/frontend/app/modules/states/configuration/caches/general.pug
+++ b/modules/web-console/frontend/app/modules/states/configuration/caches/general.pug
@@ -58,6 +58,31 @@ include /app/helpers/jade/mixins
                         'Flag indicating whether data can be read from backup<br/>\
                         If not set then always get data from primary node (never from backup)')
                 .settings-row
+                    +dropdown('Partition loss policy:', `${model}.partitionLossPolicy`, '"partitionLossPolicy"', 'true', 'IGNORE',
+                    '[\
+                        {value: "READ_ONLY_SAFE", label: "READ_ONLY_SAFE"},\
+                        {value: "READ_ONLY_ALL", label: "READ_ONLY_ALL"},\
+                        {value: "READ_WRITE_SAFE", label: "READ_WRITE_SAFE"},\
+                        {value: "READ_WRITE_ALL", label: "READ_WRITE_ALL"},\
+                        {value: "IGNORE", label: "IGNORE"}\
+                    ]',
+                    'Partition loss policies:\
+                    <ul>\
+                        <li>READ_ONLY_SAFE - in this mode all writes to the cache will be failed with an exception,\
+                            reads will only be allowed for keys in  non-lost partitions.\
+                            Reads from lost partitions will be failed with an exception.</li>\
+                        <li>READ_ONLY_ALL - in this mode фll writes to the cache will be failed with an exception.\
+                            All reads will proceed as if all partitions were in a consistent state.\
+                            The result of reading from a lost partition is undefined and may be different on different nodes in the cluster.</li>\
+                        <li>READ_WRITE_SAFE - in this mode Aall reads and writes will be allowed for keys in valid partitions.\
+                            All reads and writes for keys in lost partitions will be failed with an exception.</li>\
+                        <li>READ_WRITE_ALL - in this mode all reads and writes will proceed as if all partitions were in a consistent state.\
+                            The result of reading from a lost partition is undefined and may be different on different nodes in the cluster.</li>\
+                        <li>IGNORE - in this mode if partition is lost, reset it state and do not clear intermediate data.\
+                            The result of reading from a previously lost and not cleared partition is undefined and may be different\
+                            on different nodes in the cluster.</li>\
+                    </ul>')
+                .settings-row
                     +checkbox('Copy on read', `${model}.copyOnRead`, '"copyOnRead"',
                         'Flag indicating whether copy of the value stored in cache should be created for cache operation implying return value<br/>\
                         Also if this flag is set copies are created for values passed to CacheInterceptor and to CacheEntryProcessor')

http://git-wip-us.apache.org/repos/asf/ignite/blob/12dfe9e8/modules/web-console/frontend/app/modules/states/configuration/caches/memory.pug
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/states/configuration/caches/memory.pug b/modules/web-console/frontend/app/modules/states/configuration/caches/memory.pug
index 38482a7..8384be9 100644
--- a/modules/web-console/frontend/app/modules/states/configuration/caches/memory.pug
+++ b/modules/web-console/frontend/app/modules/states/configuration/caches/memory.pug
@@ -31,63 +31,11 @@ include /app/helpers/jade/mixins
         .panel-body(ng-if=`ui.isPanelLoaded('${form}')`)
             .col-sm-6
                 .settings-row
-                    +dropdown('Mode:', `${model}.memoryMode`, '"memoryMode"', 'true', 'ONHEAP_TIERED',
-                        '[\
-                            {value: "ONHEAP_TIERED", label: "ONHEAP_TIERED"},\
-                            {value: "OFFHEAP_TIERED", label: "OFFHEAP_TIERED"},\
-                            {value: "OFFHEAP_VALUES", label: "OFFHEAP_VALUES"}\
-                        ]',
-                        'Memory modes control whether value is stored in on-heap memory, off-heap memory, or swap space\
-                        <ul>\
-                            <li>\
-                                ONHEAP_TIERED - entries are cached on heap memory first<br/>\
-                                <ul>\
-                                    <li>\
-                                        If offheap memory is enabled and eviction policy evicts an entry from heap memory, entry will be moved to offheap memory<br/>\
-                                        If offheap memory is disabled, then entry is simply discarded\
-                                    </li>\
-                                    <li>\
-                                        If swap space is enabled and offheap memory fills up, then entry will be evicted into swap space<br/>\
-                                        If swap space is disabled, then entry will be discarded. If swap is enabled and offheap memory is disabled, then entry will be evicted directly from heap memory into swap\
-                                    </li>\
-                                </ul>\
-                            </li>\
-                            <li>\
-                                OFFHEAP_TIERED - works the same as ONHEAP_TIERED, except that entries never end up in heap memory and get stored in offheap memory right away<br/>\
-                                Entries get cached in offheap memory first and then get evicted to swap, if one is configured\
-                            </li>\
-                            <li>\
-                                OFFHEAP_VALUES - entry keys will be stored on heap memory, and values will be stored in offheap memory<br/>\
-                                Note that in this mode entries can be evicted only to swap\
-                            </li>\
-                        </ul>')
-                .settings-row(ng-show=`${model}.memoryMode !== 'OFFHEAP_VALUES'`)
-                    +dropdown-required('Off-heap memory:', `${model}.offHeapMode`, '"offHeapMode"', 'true', `${model}.memoryMode === 'OFFHEAP_TIERED'`,
-                        'Disabled',
-                        '[\
-                            {value: -1, label: "Disabled"},\
-                            {value: 1, label: "Limited"},\
-                            {value: 0, label: "Unlimited"}\
-                        ]',
-                        'Off-heap storage mode\
-                        <ul>\
-                            <li>Disabled - Off-heap storage is disabled</li>\
-                            <li>Limited - Off-heap storage has limited size</li>\
-                            <li>Unlimited - Off-heap storage grow infinitely (it is up to user to properly add and remove entries from cache to ensure that off-heap storage does not grow infinitely)</li>\
-                        </ul>')
-                .settings-row(ng-if=`${model}.offHeapMode === 1 && ${model}.memoryMode !== 'OFFHEAP_VALUES'`)
-                    +number-required('Off-heap memory max size:', `${model}.offHeapMaxMemory`, '"offHeapMaxMemory"', 'true',
-                        `${model}.offHeapMode === 1`, 'Enter off-heap memory size', '1',
-                        'Maximum amount of memory available to off-heap storage in bytes')
-                .settings-row
-                    -var onHeapTired = model + '.memoryMode === "ONHEAP_TIERED"'
-                    -var swapEnabled = model + '.swapEnabled'
-                    -var offHeapMaxMemory = model + '.offHeapMaxMemory'
-
-                    +evictionPolicy(`${model}.evictionPolicy`, '"evictionPolicy"', 'true',
-                        onHeapTired  + ' && (' + swapEnabled + '|| _.isNumber(' + offHeapMaxMemory + ') &&' + offHeapMaxMemory + ' >= 0)',
-                        'Optional cache eviction policy<br/>\
-                        Must be set for entries to be evicted from on-heap to off-heap or swap\
+                    +checkbox('On-heap cache enabled', `${model}.onheapCacheEnabled`, '"onheapCacheEnabled"', 'On-heap cache enabled flag')
+                .settings-row(ng-show=`${model}.onheapCacheEnabled`)
+                    +evictionPolicy(`${model}.evictionPolicy`, '"evictionPolicy"', 'true', 'false',
+                        'Cache eviction policy<br/>\
+                        Must be set for entries to be evicted to off-heap\
                         <ul>\
                             <li>Least Recently Used(LRU) - Eviction policy based on LRU algorithm and supports batch eviction</li>\
                             <li>First In First Out (FIFO) - Eviction policy based on FIFO algorithm and supports batch eviction</li>\
@@ -102,7 +50,5 @@ include /app/helpers/jade/mixins
                         This will save a lot of CPU resources during the load time, because the map would not have to resize.\
                         For example, if you expect to load 10 million entries into cache, you can set this property to 10 000 000.\
                         This will save you from cache internal map resizes.')
-                .settings-row
-                    +checkbox('Swap enabled', `${model}.swapEnabled`, '"swapEnabled"', 'Flag indicating whether swap storage is enabled or not for this cache')
             .col-sm-6
                 +preview-xml-java(model, 'cacheMemory')

http://git-wip-us.apache.org/repos/asf/ignite/blob/12dfe9e8/modules/web-console/frontend/app/modules/states/configuration/caches/query.pug
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/states/configuration/caches/query.pug b/modules/web-console/frontend/app/modules/states/configuration/caches/query.pug
index 5bb515a..52425ba 100644
--- a/modules/web-console/frontend/app/modules/states/configuration/caches/query.pug
+++ b/modules/web-console/frontend/app/modules/states/configuration/caches/query.pug
@@ -56,6 +56,9 @@ include /app/helpers/jade/mixins
                     +number('History size:', `${model}.queryDetailMetricsSize`, '"queryDetailMetricsSize"', 'true', '0', '0',
                         'Size of queries detail metrics that will be stored in memory for monitoring purposes')
                 .settings-row
+                    +number('Parallelism:', `${model}.queryParallelism`, '"queryParallelism"', 'true', '1', '1',
+                        'Defines a hint to query execution engine on desired degree of parallelism within a single node.')
+                .settings-row
                     -var form = 'querySqlFunctionClasses';
                     -var sqlFunctionClasses = `${model}.sqlFunctionClasses`;
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/12dfe9e8/modules/web-console/frontend/app/modules/states/configuration/clusters/events.pug
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/states/configuration/clusters/events.pug b/modules/web-console/frontend/app/modules/states/configuration/clusters/events.pug
index 70fb714..09cd40c 100644
--- a/modules/web-console/frontend/app/modules/states/configuration/clusters/events.pug
+++ b/modules/web-console/frontend/app/modules/states/configuration/clusters/events.pug
@@ -40,15 +40,17 @@ include /app/helpers/jade/mixins
                     Note, that either the include event types or the exclude event types can be established')
 
                 .settings-row
-                    +dropdown('Event storage:', modelEventStorageKind, '"eventStorageKind"', 'true', '',
+                    +dropdown('Event storage:', modelEventStorageKind, '"eventStorageKind"', 'true', 'Disabled',
                     '[\
                         {value: "Memory", label: "Memory"},\
-                        {value: "Custom", label: "Custom"}\
+                        {value: "Custom", label: "Custom"},\
+                        {value: undefined, label: "Disabled"}\
                     ]',
                     'Regulate how grid store events locally on node\
                     <ul>\
                         <li>Memory - All events are kept in the FIFO queue in-memory</li>\
                         <li>Custom - Custom implementation of event storage SPI</li>\
+                        <li>Disabled - Events are not collected</li>\
                     </ul>')
 
                 div(ng-show=eventStorageMemory)

http://git-wip-us.apache.org/repos/asf/ignite/blob/12dfe9e8/modules/web-console/frontend/app/modules/states/configuration/clusters/marshaller.pug
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/states/configuration/clusters/marshaller.pug b/modules/web-console/frontend/app/modules/states/configuration/clusters/marshaller.pug
index f9d29b5..274b014 100644
--- a/modules/web-console/frontend/app/modules/states/configuration/clusters/marshaller.pug
+++ b/modules/web-console/frontend/app/modules/states/configuration/clusters/marshaller.pug
@@ -66,11 +66,5 @@ include /app/helpers/jade/mixins
                                 'Whether marshaller should require Serializable interface or not')
                 .settings-row
                     +checkbox('Marshal local jobs', `${model}.marshalLocalJobs`, '"marshalLocalJobs"', 'If this flag is enabled, jobs mapped to local node will be marshalled as if it was remote node')
-                .settings-row
-                    +number('Keep alive time:', `${model}.marshallerCacheKeepAliveTime`, '"marshallerCacheKeepAliveTime"', 'true', '10000', '0',
-                        'Keep alive time of thread pool that is in charge of processing marshaller messages')
-                .settings-row
-                    +number('Pool size:', `${model}.marshallerCacheThreadPoolSize`, '"marshallerCacheThreadPoolSize"', 'true', 'max(8, availableProcessors) * 2', '1',
-                        'Default size of thread pool that is in charge of processing marshaller messages')
             .col-sm-6
                 +preview-xml-java(model, 'clusterMarshaller')

http://git-wip-us.apache.org/repos/asf/ignite/blob/12dfe9e8/modules/web-console/frontend/app/modules/states/configuration/clusters/swap.pug
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/states/configuration/clusters/swap.pug b/modules/web-console/frontend/app/modules/states/configuration/clusters/swap.pug
deleted file mode 100644
index 54b6db0..0000000
--- a/modules/web-console/frontend/app/modules/states/configuration/clusters/swap.pug
+++ /dev/null
@@ -1,72 +0,0 @@
-//-
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements.  See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to You under the Apache License, Version 2.0
-    (the "License"); you may not use this file except in compliance with
-    the License.  You may obtain a copy of the License at
-
-         http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
-
-include /app/helpers/jade/mixins
-
--var form = 'swap'
--var model = 'backupItem'
--var swapModel = model + '.swapSpaceSpi'
--var fileSwapModel = swapModel + '.FileSwapSpaceSpi'
-
-.panel.panel-default(ng-form=form novalidate)
-    .panel-heading(bs-collapse-toggle ng-click=`ui.loadPanel('${form}')`)
-        ignite-form-panel-chevron
-        label Swap
-        ignite-form-field-tooltip.tipLabel
-            | Settings for overflow data to disk if it cannot fit in memory#[br]
-            | #[a(href="https://apacheignite.readme.io/docs/off-heap-memory#swap-space" target="_blank") More info]
-        ignite-form-revert
-    .panel-collapse(role='tabpanel' bs-collapse-target id=`${form}`)
-        .panel-body(ng-if=`ui.isPanelLoaded('${form}')`)
-            .col-sm-6
-                .settings-row
-                    +dropdown('Swap space SPI:', `${swapModel}.kind`, '"swapSpaceSpi"', 'true', 'Choose swap SPI',
-                        '[\
-                            {value: "FileSwapSpaceSpi", label: "File-based swap"},\
-                            {value: undefined, label: "Not set"}\
-                        ]',
-                        'Provides a mechanism in grid for storing data on disk<br/>\
-                        Ignite cache uses swap space to overflow data to disk if it cannot fit in memory\
-                        <ul>\
-                            <li>File-based swap - File-based swap space SPI implementation which holds keys in memory</li>\
-                            <li>Not set - File-based swap space SPI with default configuration when it needed</li>\
-                        </ul>')
-                    a.customize(
-                        ng-if=`${swapModel}.kind`
-                        ng-click=`${swapModel}.expanded = !${swapModel}.expanded`
-                    ) {{ #{swapModel}.expanded ? 'Hide settings' : 'Show settings'}}
-                .settings-row
-                    .panel-details(ng-show=`${swapModel}.expanded && ${swapModel}.kind`)
-                        .details-row
-                            +text('Base directory:', `${fileSwapModel}.baseDirectory`, '"baseDirectory"', 'false', 'swapspace',
-                                'Base directory where to write files')
-                        .details-row
-                            +number('Read stripe size:', `${fileSwapModel}.readStripesNumber`, '"readStripesNumber"', 'true', 'availableProcessors', '0',
-                                'Read stripe size defines number of file channels to be used concurrently')
-                        .details-row
-                            +number-min-max-step('Maximum sparsity:', `${fileSwapModel}.maximumSparsity`, '"maximumSparsity"', 'true', '0.5', '0', '0.999', '0.05',
-                                'This property defines maximum acceptable wasted file space to whole file size ratio<br/>\
-                                When this ratio becomes higher than specified number compacting thread starts working')
-                        .details-row
-                            +number('Max write queue size:', `${fileSwapModel}.maxWriteQueueSize`, '"maxWriteQueueSize"', 'true', '1024 * 1024', '0',
-                                'Max write queue size in bytes<br/>\
-                                If there are more values are waiting for being written to disk then specified size, SPI will block on store operation')
-                        .details-row
-                            +number('Write buffer size:', `${fileSwapModel}.writeBufferSize`, '"writeBufferSize"', 'true', '64 * 1024', '0',
-                                'Write buffer size in bytes<br/>\
-                                Write to disk occurs only when this buffer is full')
-            .col-sm-6
-                +preview-xml-java(model, 'clusterSwap')

http://git-wip-us.apache.org/repos/asf/ignite/blob/12dfe9e8/modules/web-console/frontend/app/modules/states/configuration/igfs/misc.pug
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/states/configuration/igfs/misc.pug b/modules/web-console/frontend/app/modules/states/configuration/igfs/misc.pug
index aa4b957..7df7e7e 100644
--- a/modules/web-console/frontend/app/modules/states/configuration/igfs/misc.pug
+++ b/modules/web-console/frontend/app/modules/states/configuration/igfs/misc.pug
@@ -55,7 +55,7 @@ mixin table-igfs-path-mode-edit(prefix, focusId, index)
                 .settings-row
                     +number('Block size:', `${model}.blockSize`, '"blockSize"', 'true', '65536', '0', 'File data block size in bytes')
                 .settings-row
-                    +number('Stream buffer size:', `${model}.streamBufferSize`, '"streamBufferSize"', 'true', '65536', '0', 'Read/write buffer size for IGFS stream operations in bytes')
+                    +number('Buffer size:', `${model}.bufferSize`, '"bufferSize"', 'true', '65536', '0', 'Read/write buffer size for IGFS stream operations in bytes')
                 .settings-row
                     +number('Maximum space size:', `${model}.maxSpaceSize`, '"maxSpaceSize"', 'true', '0', '0', 'Maximum space available for data cache to store file system entries')
                 .settings-row

http://git-wip-us.apache.org/repos/asf/ignite/blob/12dfe9e8/modules/web-console/frontend/controllers/caches-controller.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/controllers/caches-controller.js b/modules/web-console/frontend/controllers/caches-controller.js
index d4a13e5..176a634 100644
--- a/modules/web-console/frontend/controllers/caches-controller.js
+++ b/modules/web-console/frontend/controllers/caches-controller.js
@@ -82,22 +82,6 @@ export default ['cachesController', [
             }, []);
         }
 
-        const setOffHeapMode = (item) => {
-            if (_.isNil(item.offHeapMaxMemory))
-                return;
-
-            return item.offHeapMode = Math.sign(item.offHeapMaxMemory);
-        };
-
-        const setOffHeapMaxMemory = (value) => {
-            const item = $scope.backupItem;
-
-            if (_.isNil(value) || value <= 0)
-                return item.offHeapMaxMemory = value;
-
-            item.offHeapMaxMemory = item.offHeapMaxMemory > 0 ? item.offHeapMaxMemory : null;
-        };
-
         $scope.tablePairSave = LegacyTable.tablePairSave;
         $scope.tablePairSaveVisible = LegacyTable.tablePairSaveVisible;
         $scope.tableNewItem = LegacyTable.tableNewItem;
@@ -236,8 +220,6 @@ export default ['cachesController', [
                         form.$setDirty();
                 }, true);
 
-                $scope.$watch('backupItem.offHeapMode', setOffHeapMaxMemory);
-
                 $scope.$watch('ui.activePanels.length', () => {
                     ErrorPopover.hide();
                 });
@@ -281,8 +263,6 @@ export default ['cachesController', [
                     $scope.ui.inputForm.$setPristine();
                 }
 
-                setOffHeapMode($scope.backupItem);
-
                 __original_value = ModelNormalizer.normalize($scope.backupItem);
 
                 if (LegacyUtils.getQueryVariable('new'))
@@ -436,18 +416,9 @@ export default ['cachesController', [
             if (LegacyUtils.isEmptyString(item.name))
                 return ErrorPopover.show('cacheNameInput', 'Cache name should not be empty!', $scope.ui, 'general');
 
-            if (item.memoryMode === 'ONHEAP_TIERED' && item.offHeapMaxMemory > 0 && !LegacyUtils.isDefined(item.evictionPolicy.kind))
-                return ErrorPopover.show('evictionPolicyKindInput', 'Eviction policy should be configured!', $scope.ui, 'memory');
-
             if (!LegacyUtils.checkFieldValidators($scope.ui))
                 return false;
 
-            if (item.memoryMode === 'OFFHEAP_VALUES' && !_.isEmpty(item.domains))
-                return ErrorPopover.show('memoryModeInput', 'Query indexing could not be enabled while values are stored off-heap!', $scope.ui, 'memory');
-
-            if (item.memoryMode === 'OFFHEAP_TIERED' && item.offHeapMaxMemory === -1)
-                return ErrorPopover.show('offHeapModeInput', 'Invalid value!', $scope.ui, 'memory');
-
             if (!checkEvictionPolicy(item.evictionPolicy))
                 return false;
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/12dfe9e8/modules/web-console/frontend/controllers/clusters-controller.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/controllers/clusters-controller.js b/modules/web-console/frontend/controllers/clusters-controller.js
index e936955..dba56fc 100644
--- a/modules/web-console/frontend/controllers/clusters-controller.js
+++ b/modules/web-console/frontend/controllers/clusters-controller.js
@@ -48,7 +48,6 @@ export default ['clustersController', [
             sslContextFactory: {
                 trustManagers: []
             },
-            swapSpaceSpi: {},
             transactionConfiguration: {},
             collision: {}
         };
@@ -232,11 +231,6 @@ export default ['clustersController', [
             {value: 'Kubernetes', label: 'Kubernetes'}
         ];
 
-        $scope.swapSpaceSpis = [
-            {value: 'FileSwapSpaceSpi', label: 'File-based swap'},
-            {value: null, label: 'Not set'}
-        ];
-
         $scope.eventGroups = igniteEventGroups;
 
         $scope.clusters = [];
@@ -282,9 +276,6 @@ export default ['clustersController', [
                     if (!cluster.logger)
                         cluster.logger = {Log4j: { mode: 'Default'}};
 
-                    if (!cluster.eventStorage)
-                        cluster.eventStorage = { kind: 'Memory' };
-
                     if (!cluster.peerClassLoadingLocalClassPathExclude)
                         cluster.peerClassLoadingLocalClassPathExclude = [];
 
@@ -411,7 +402,6 @@ export default ['clustersController', [
                 communication: {tcpNoDelay: true},
                 connector: {noDelay: true},
                 collision: {kind: 'Noop', JobStealing: {stealingEnabled: true}, PriorityQueue: {starvationPreventionEnabled: true}},
-                eventStorage: {kind: 'Memory'},
                 failoverSpi: [],
                 logger: {Log4j: { mode: 'Default'}},
                 caches: linkId && _.find($scope.caches, {value: linkId}) ? [linkId] : [],
@@ -619,26 +609,6 @@ export default ['clustersController', [
             return true;
         }
 
-        function checkSwapConfiguration(item) {
-            const swapKind = item.swapSpaceSpi && item.swapSpaceSpi.kind;
-
-            if (swapKind && item.swapSpaceSpi[swapKind]) {
-                const swap = item.swapSpaceSpi[swapKind];
-
-                const sparsity = swap.maximumSparsity;
-
-                if (LegacyUtils.isDefined(sparsity) && (sparsity < 0 || sparsity >= 1))
-                    return ErrorPopover.show('maximumSparsityInput', 'Maximum sparsity should be more or equal 0 and less than 1!', $scope.ui, 'swap');
-
-                const readStripesNumber = swap.readStripesNumber;
-
-                if (readStripesNumber && !(readStripesNumber === -1 || (readStripesNumber & (readStripesNumber - 1)) === 0))
-                    return ErrorPopover.show('readStripesNumberInput', 'Read stripe size must be positive and power of two!', $scope.ui, 'swap');
-            }
-
-            return true;
-        }
-
         function checkSslConfiguration(item) {
             const r = item.connector;
 
@@ -702,9 +672,6 @@ export default ['clustersController', [
             if (!checkODBC(item))
                 return false;
 
-            if (!checkSwapConfiguration(item))
-                return false;
-
             if (!checkSslConfiguration(item))
                 return false;
 
@@ -759,11 +726,6 @@ export default ['clustersController', [
         $scope.saveItem = function() {
             const item = $scope.backupItem;
 
-            const swapConfigured = item.swapSpaceSpi && item.swapSpaceSpi.kind;
-
-            if (!swapConfigured && _.find(clusterCaches(item), (cache) => cache.swapEnabled))
-                _.merge(item, {swapSpaceSpi: {kind: 'FileSwapSpaceSpi'}});
-
             if (validate(item))
                 save(item);
         };

http://git-wip-us.apache.org/repos/asf/ignite/blob/12dfe9e8/modules/web-console/frontend/views/configuration/clusters.tpl.pug
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/views/configuration/clusters.tpl.pug b/modules/web-console/frontend/views/configuration/clusters.tpl.pug
index c979012..4a1df33 100644
--- a/modules/web-console/frontend/views/configuration/clusters.tpl.pug
+++ b/modules/web-console/frontend/views/configuration/clusters.tpl.pug
@@ -59,7 +59,6 @@ include /app/helpers/jade/mixins
                             include /app/modules/states/configuration/clusters/metrics
                             include /app/modules/states/configuration/clusters/odbc
                             include /app/modules/states/configuration/clusters/ssl
-                            include /app/modules/states/configuration/clusters/swap
                             include /app/modules/states/configuration/clusters/thread
                             include /app/modules/states/configuration/clusters/time
                             include /app/modules/states/configuration/clusters/transactions

http://git-wip-us.apache.org/repos/asf/ignite/blob/12dfe9e8/modules/web-console/web-agent/src/main/java/org/apache/ignite/console/demo/AgentClusterDemo.java
----------------------------------------------------------------------
diff --git a/modules/web-console/web-agent/src/main/java/org/apache/ignite/console/demo/AgentClusterDemo.java b/modules/web-console/web-agent/src/main/java/org/apache/ignite/console/demo/AgentClusterDemo.java
index 088ae39..3bd0b5a 100644
--- a/modules/web-console/web-agent/src/main/java/org/apache/ignite/console/demo/AgentClusterDemo.java
+++ b/modules/web-console/web-agent/src/main/java/org/apache/ignite/console/demo/AgentClusterDemo.java
@@ -41,6 +41,7 @@ import org.apache.ignite.logger.log4j.Log4JLogger;
 import org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi;
 import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder;
+import org.apache.ignite.spi.eventstorage.memory.MemoryEventStorageSpi;
 import org.apache.log4j.Logger;
 
 import static org.apache.ignite.IgniteSystemProperties.IGNITE_ATOMIC_CACHE_DELETE_HISTORY_SIZE;
@@ -78,6 +79,7 @@ public class AgentClusterDemo {
 
         cfg.setIgniteInstanceName((client ? "demo-client-" : "demo-server-" ) + gridIdx);
         cfg.setLocalHost("127.0.0.1");
+        cfg.setEventStorageSpi(new MemoryEventStorageSpi());
         cfg.setIncludeEventTypes(EVTS_DISCOVERY);
 
         TcpDiscoveryVmIpFinder ipFinder = new TcpDiscoveryVmIpFinder();

http://git-wip-us.apache.org/repos/asf/ignite/blob/12dfe9e8/modules/web-console/web-agent/src/main/resources/log4j.properties
----------------------------------------------------------------------
diff --git a/modules/web-console/web-agent/src/main/resources/log4j.properties b/modules/web-console/web-agent/src/main/resources/log4j.properties
index 3b7767c..c4116ac 100644
--- a/modules/web-console/web-agent/src/main/resources/log4j.properties
+++ b/modules/web-console/web-agent/src/main/resources/log4j.properties
@@ -17,7 +17,6 @@ log4j.rootLogger=INFO,console_err,file
 
 log4j.logger.org.apache.http=WARN
 log4j.logger.org.apache.ignite.spi.checkpoint.noop.NoopCheckpointSpi=OFF
-log4j.logger.org.apache.ignite.spi.swapspace.noop.NoopSwapSpaceSpi=OFF
 log4j.logger.org.apache.ignite.internal.managers.collision.GridCollisionManager=ERROR
 log4j.logger.org.apache.commons.beanutils=WARN
 log4j.logger.sun.net.www.protocol.http=WARN


Mime
View raw message