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

Reply via email to