ignite-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ptupit...@apache.org
Subject ignite git commit: IGNITE-4736 .NET: Remove swap API and cacheMemoryMode
Date Tue, 21 Feb 2017 15:48:51 GMT
Repository: ignite
Updated Branches:
  refs/heads/ignite-3477 c5aee5b79 -> 7721df275


IGNITE-4736 .NET: Remove swap API and cacheMemoryMode

This closes #1565


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/7721df27
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/7721df27
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/7721df27

Branch: refs/heads/ignite-3477
Commit: 7721df275420b1aab2cd3c635a4036976f23f718
Parents: c5aee5b
Author: Pavel Tupitsyn <ptupitsyn@apache.org>
Authored: Tue Feb 21 18:48:35 2017 +0300
Committer: Pavel Tupitsyn <ptupitsyn@apache.org>
Committed: Tue Feb 21 18:48:35 2017 +0300

----------------------------------------------------------------------
 .../utils/PlatformConfigurationUtils.java       |  18 ---
 .../platform/PlatformEventsWriteEventTask.java  |   7 +-
 .../Apache.Ignite.Core.Tests.csproj             |   1 -
 .../Cache/CacheAbstractTest.cs                  |  17 +--
 .../Cache/CacheConfigurationTest.cs             |   8 --
 .../Cache/CacheSwapSpaceTest.cs                 | 122 -------------------
 .../Cache/Store/CacheStoreTest.cs               |  24 ++--
 .../Config/native-client-test-cache.xml         |   5 -
 .../Apache.Ignite.Core.Tests/DeploymentTest.cs  |   1 -
 .../Apache.Ignite.Core.Tests/EventsTest.cs      |  37 +++---
 .../IgniteConfigurationSerializerTest.cs        |  20 ---
 .../IgniteConfigurationTest.cs                  |  20 +--
 .../Apache.Ignite.Core.csproj                   |   5 -
 .../Apache.Ignite.Core/Cache/CachePeekMode.cs   |   7 +-
 .../Cache/Configuration/CacheConfiguration.cs   |  26 ----
 .../Cache/Configuration/CacheMemoryMode.cs      |  60 ---------
 .../Apache.Ignite.Core/Events/EventReader.cs    |   1 -
 .../Apache.Ignite.Core/Events/EventType.cs      |  57 ---------
 .../Apache.Ignite.Core/Events/SwapSpaceEvent.cs |  51 --------
 .../Apache.Ignite.Core/IgniteConfiguration.cs   |  15 +--
 .../IgniteConfigurationSection.xsd              |  55 ---------
 .../Binary/BinaryEqualityComparerSerializer.cs  |   2 +-
 .../Impl/SwapSpace/SwapSpaceSerializer.cs       |  99 ---------------
 .../SwapSpace/File/FileSwapSpaceSpi.cs          | 105 ----------------
 .../SwapSpace/ISwapSpaceSpi.cs                  |  35 ------
 .../Datagrid/MultiTieredCacheExample.cs         |  24 +---
 26 files changed, 49 insertions(+), 773 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/7721df27/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformConfigurationUtils.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformConfigurationUtils.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformConfigurationUtils.java
index 5fcd2eb..545a6ed 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformConfigurationUtils.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformConfigurationUtils.java
@@ -80,12 +80,6 @@ import org.apache.ignite.transactions.TransactionIsolation;
  */
 @SuppressWarnings({"unchecked", "TypeMayBeWeakened"})
 public class PlatformConfigurationUtils {
-    /** */
-    private static final byte SWAP_TYP_NONE = 0;
-
-    /** */
-    private static final byte SWAP_TYP_FILE = 1;
-
     /**
      * Write .Net configuration to the stream.
      *
@@ -141,8 +135,6 @@ public class PlatformConfigurationUtils {
         ccfg.setCacheMode(CacheMode.fromOrdinal(in.readInt()));
         ccfg.setCopyOnRead(in.readBoolean());
         ccfg.setEagerTtl(in.readBoolean());
-        // TODO GG-11148.
-        //ccfg.setSwapEnabled(in.readBoolean());
         ccfg.setEvictSynchronized(in.readBoolean());
         ccfg.setEvictSynchronizedConcurrencyLevel(in.readInt());
         ccfg.setEvictSynchronizedKeyBufferSize(in.readInt());
@@ -154,8 +146,6 @@ public class PlatformConfigurationUtils {
         ccfg.setLongQueryWarningTimeout(in.readLong());
         ccfg.setMaxConcurrentAsyncOperations(in.readInt());
         ccfg.setEvictMaxOverflowRatio(in.readFloat());
-        // TODO GG-11148.
-        //ccfg.setMemoryMode(CacheMemoryMode.values()[in.readInt()]);
         ccfg.setName(in.readString());
         ccfg.setOffHeapMaxMemory(in.readLong());
         ccfg.setReadFromBackup(in.readBoolean());
@@ -616,8 +606,6 @@ public class PlatformConfigurationUtils {
 
             cfg.setTransactionConfiguration(tx);
         }
-
-        byte swapType = in.readByte(); // TODO GG-11148
     }
 
     /**
@@ -750,8 +738,6 @@ public class PlatformConfigurationUtils {
         writeEnumInt(writer, ccfg.getCacheMode(), CacheConfiguration.DFLT_CACHE_MODE);
         writer.writeBoolean(ccfg.isCopyOnRead());
         writer.writeBoolean(ccfg.isEagerTtl());
-        // TODO GG-11148.
-//        writer.writeBoolean(ccfg.isSwapEnabled());
         writer.writeBoolean(ccfg.isEvictSynchronized());
         writer.writeInt(ccfg.getEvictSynchronizedConcurrencyLevel());
         writer.writeInt(ccfg.getEvictSynchronizedKeyBufferSize());
@@ -763,8 +749,6 @@ public class PlatformConfigurationUtils {
         writer.writeLong(ccfg.getLongQueryWarningTimeout());
         writer.writeInt(ccfg.getMaxConcurrentAsyncOperations());
         writer.writeFloat(ccfg.getEvictMaxOverflowRatio());
-        // TODO GG-11148.
-//        writeEnumInt(writer, ccfg.getMemoryMode(), CacheConfiguration.DFLT_MEMORY_MODE);
         writer.writeString(ccfg.getName());
         writer.writeLong(ccfg.getOffHeapMaxMemory());
         writer.writeBoolean(ccfg.isReadFromBackup());
@@ -1027,8 +1011,6 @@ public class PlatformConfigurationUtils {
         else
             w.writeBoolean(false);
 
-        w.writeByte(SWAP_TYP_NONE);
-
         w.writeString(cfg.getIgniteHome());
 
         w.writeLong(ManagementFactory.getMemoryMXBean().getHeapMemoryUsage().getInit());

http://git-wip-us.apache.org/repos/asf/ignite/blob/7721df27/modules/core/src/test/java/org/apache/ignite/platform/PlatformEventsWriteEventTask.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/platform/PlatformEventsWriteEventTask.java b/modules/core/src/test/java/org/apache/ignite/platform/PlatformEventsWriteEventTask.java
index 9fbe272..114414c 100644
--- a/modules/core/src/test/java/org/apache/ignite/platform/PlatformEventsWriteEventTask.java
+++ b/modules/core/src/test/java/org/apache/ignite/platform/PlatformEventsWriteEventTask.java
@@ -30,7 +30,6 @@ import org.apache.ignite.events.CacheRebalancingEvent;
 import org.apache.ignite.events.CheckpointEvent;
 import org.apache.ignite.events.DiscoveryEvent;
 import org.apache.ignite.events.JobEvent;
-import org.apache.ignite.events.SwapSpaceEvent;
 import org.apache.ignite.events.TaskEvent;
 import org.apache.ignite.internal.binary.BinaryRawWriterEx;
 import org.apache.ignite.internal.processors.platform.PlatformContext;
@@ -84,7 +83,7 @@ public class PlatformEventsWriteEventTask extends ComputeTaskAdapter<Long, Objec
          *
          * @param ptr Stream ptr.
          */
-        public Job(long ptr, ClusterNode node) {
+        private Job(long ptr, ClusterNode node) {
             this.ptr = ptr;
             this.node = node;
         }
@@ -97,7 +96,7 @@ public class PlatformEventsWriteEventTask extends ComputeTaskAdapter<Long, Objec
                 PlatformOutputStream out = mem.output();
                 BinaryRawWriterEx writer = ctx.writer(out);
 
-                int evtType = EventType.EVT_SWAP_SPACE_CLEARED;
+                int evtType = EventType.EVT_NODE_FAILED;
                 String msg = "msg";
                 UUID uuid = new UUID(1, 2);
                 IgniteUuid igniteUuid = new IgniteUuid(uuid, 3);
@@ -130,8 +129,6 @@ public class PlatformEventsWriteEventTask extends ComputeTaskAdapter<Long, Objec
                 jobEvent.taskSubjectId(uuid);
                 ctx.writeEvent(writer, jobEvent);
 
-                ctx.writeEvent(writer, new SwapSpaceEvent(node, msg, evtType, "space"));
-
                 ctx.writeEvent(writer, new TaskEvent(node, msg, evtType, igniteUuid, "taskName", "taskClsName",
                     true, uuid));
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/7721df27/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Apache.Ignite.Core.Tests.csproj
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Apache.Ignite.Core.Tests.csproj b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Apache.Ignite.Core.Tests.csproj
index e09c682..a97c369 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Apache.Ignite.Core.Tests.csproj
+++ b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Apache.Ignite.Core.Tests.csproj
@@ -77,7 +77,6 @@
     <Compile Include="Cache\Affinity\AffinityTopologyVersionTest.cs" />
     <Compile Include="Cache\CacheMetricsTest.cs" />
     <Compile Include="Cache\CacheResultTest.cs" />
-    <Compile Include="Cache\CacheSwapSpaceTest.cs" />
     <Compile Include="Cache\Query\CacheDmlQueriesTest.cs" />
     <Compile Include="Cache\CacheAbstractTransactionalTest.cs" />
     <Compile Include="Cache\Store\CacheStoreAdapterTest.cs" />

http://git-wip-us.apache.org/repos/asf/ignite/blob/7721df27/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/CacheAbstractTest.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/CacheAbstractTest.cs b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/CacheAbstractTest.cs
index 1239794..010f690 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/CacheAbstractTest.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/CacheAbstractTest.cs
@@ -1077,6 +1077,7 @@ namespace Apache.Ignite.Core.Tests.Cache
         }
 
         [Test]
+        [Ignore("IGNITE-4535")]
         public void TestEvict()
         {
             var cache = Cache();
@@ -1101,6 +1102,7 @@ namespace Apache.Ignite.Core.Tests.Cache
         }
 
         [Test]
+        [Ignore("IGNITE-4535")]
         public void TestEvictAllKeys()
         {
             var cache = Cache();
@@ -1451,7 +1453,7 @@ namespace Apache.Ignite.Core.Tests.Cache
 
             cache.LocalEvict(keys.Take(2).ToArray());
 
-            Assert.AreEqual(0, cache.GetLocalSize(CachePeekMode.Onheap));
+            //Assert.AreEqual(0, cache.GetLocalSize(CachePeekMode.Onheap));  // TODO: IGNITE-4535
             Assert.AreEqual(localSize, cache.GetLocalSize(CachePeekMode.All));
 
             cache.Put(keys[2], 3);
@@ -1489,18 +1491,15 @@ namespace Apache.Ignite.Core.Tests.Cache
             // Evict and check peek modes.
             cache.LocalEvict(new List<int> { keys[0] } );
 
-            e = cache.GetLocalEntries(CachePeekMode.Onheap);
-            CheckEnumerator(e.GetEnumerator(), new List<int> { keys[1] });
-            CheckEnumerator(e.GetEnumerator(), new List<int> { keys[1] });
+            // TODO: IGNITE-4535
+            //e = cache.GetLocalEntries(CachePeekMode.Onheap);
+            //CheckEnumerator(e.GetEnumerator(), new List<int> { keys[1] });
+            //CheckEnumerator(e.GetEnumerator(), new List<int> { keys[1] });
 
             e = cache.GetLocalEntries(CachePeekMode.All);
             CheckEnumerator(e.GetEnumerator(), keys);
             CheckEnumerator(e.GetEnumerator(), keys);
 
-            e = cache.GetLocalEntries(CachePeekMode.Onheap, CachePeekMode.Swap);
-            CheckEnumerator(e.GetEnumerator(), keys);
-            CheckEnumerator(e.GetEnumerator(), keys);
-
             cache.Remove(keys[0]);
         }
 
@@ -1556,6 +1555,7 @@ namespace Apache.Ignite.Core.Tests.Cache
         }
 
         [Test]
+        [Ignore("IGNITE-4535")]
         public void TestPromote()
         {
             var cache = Cache();
@@ -1580,6 +1580,7 @@ namespace Apache.Ignite.Core.Tests.Cache
         }
 
         [Test]
+        [Ignore("IGNITE-4535")]
         public void TestPromoteAll()
         {
             var cache = Cache();

http://git-wip-us.apache.org/repos/asf/ignite/blob/7721df27/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/CacheConfigurationTest.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/CacheConfigurationTest.cs b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/CacheConfigurationTest.cs
index fb8725c..b775310 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/CacheConfigurationTest.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/CacheConfigurationTest.cs
@@ -197,7 +197,6 @@ namespace Apache.Ignite.Core.Tests.Cache
             Assert.AreEqual(CacheConfiguration.DefaultLongQueryWarningTimeout, cfg.LongQueryWarningTimeout);
             Assert.AreEqual(CacheConfiguration.DefaultMaxConcurrentAsyncOperations, cfg.MaxConcurrentAsyncOperations);
             Assert.AreEqual(CacheConfiguration.DefaultMaxEvictionOverflowRatio, cfg.MaxEvictionOverflowRatio);
-            Assert.AreEqual(CacheConfiguration.DefaultMemoryMode, cfg.MemoryMode);
             Assert.AreEqual(CacheConfiguration.DefaultOffHeapMaxMemory, cfg.OffHeapMaxMemory);
             Assert.AreEqual(CacheConfiguration.DefaultReadFromBackup, cfg.ReadFromBackup);
             Assert.AreEqual(CacheConfiguration.DefaultRebalanceBatchSize, cfg.RebalanceBatchSize);
@@ -207,7 +206,6 @@ namespace Apache.Ignite.Core.Tests.Cache
             Assert.AreEqual(CacheConfiguration.DefaultSqlOnheapRowCacheSize, cfg.SqlOnheapRowCacheSize);
             Assert.AreEqual(CacheConfiguration.DefaultStartSize, cfg.StartSize);
             Assert.AreEqual(CacheConfiguration.DefaultStartSize, cfg.StartSize);
-            Assert.AreEqual(CacheConfiguration.DefaultEnableSwap, cfg.EnableSwap);
             Assert.AreEqual(CacheConfiguration.DefaultWriteBehindBatchSize, cfg.WriteBehindBatchSize);
             Assert.AreEqual(CacheConfiguration.DefaultWriteBehindEnabled, cfg.WriteBehindEnabled);
             Assert.AreEqual(CacheConfiguration.DefaultWriteBehindFlushFrequency, cfg.WriteBehindFlushFrequency);
@@ -236,7 +234,6 @@ namespace Apache.Ignite.Core.Tests.Cache
             Assert.AreEqual(x.LongQueryWarningTimeout, y.LongQueryWarningTimeout);
             Assert.AreEqual(x.MaxConcurrentAsyncOperations, y.MaxConcurrentAsyncOperations);
             Assert.AreEqual(x.MaxEvictionOverflowRatio, y.MaxEvictionOverflowRatio);
-            Assert.AreEqual(x.MemoryMode, y.MemoryMode);
             Assert.AreEqual(x.OffHeapMaxMemory, y.OffHeapMaxMemory);
             Assert.AreEqual(x.ReadFromBackup, y.ReadFromBackup);
             Assert.AreEqual(x.RebalanceBatchSize, y.RebalanceBatchSize);
@@ -246,7 +243,6 @@ namespace Apache.Ignite.Core.Tests.Cache
             Assert.AreEqual(x.SqlOnheapRowCacheSize, y.SqlOnheapRowCacheSize);
             Assert.AreEqual(x.StartSize, y.StartSize);
             Assert.AreEqual(x.StartSize, y.StartSize);
-            Assert.AreEqual(x.EnableSwap, y.EnableSwap);
             Assert.AreEqual(x.WriteBehindBatchSize, y.WriteBehindBatchSize);
             Assert.AreEqual(x.WriteBehindEnabled, y.WriteBehindEnabled);
             Assert.AreEqual(x.WriteBehindFlushFrequency, y.WriteBehindFlushFrequency);
@@ -498,14 +494,12 @@ namespace Apache.Ignite.Core.Tests.Cache
                 Backups = 8,
                 CacheMode = CacheMode.Partitioned,
                 EagerTtl = true,
-                EnableSwap = true,
                 EvictSynchronizedConcurrencyLevel = 9,
                 EvictSynchronizedTimeout = TimeSpan.FromSeconds(10),
                 Invalidate = true,
                 KeepBinaryInStore = true,
                 LockTimeout = TimeSpan.FromSeconds(11),
                 MaxEvictionOverflowRatio = 0.5f,
-                MemoryMode = CacheMemoryMode.OnheapTiered,
                 ReadFromBackup = true,
                 RebalanceBatchSize = 12,
                 RebalanceDelay = TimeSpan.FromSeconds(13),
@@ -593,14 +587,12 @@ namespace Apache.Ignite.Core.Tests.Cache
                 Backups = 8,
                 CacheMode = CacheMode.Partitioned,
                 EagerTtl = true,
-                EnableSwap = true,
                 EvictSynchronizedConcurrencyLevel = 9,
                 EvictSynchronizedTimeout = TimeSpan.FromSeconds(10),
                 Invalidate = true,
                 KeepBinaryInStore = true,
                 LockTimeout = TimeSpan.FromSeconds(11),
                 MaxEvictionOverflowRatio = 0.5f,
-                MemoryMode = CacheMemoryMode.OnheapTiered,
                 ReadFromBackup = true,
                 RebalanceBatchSize = 12,
                 RebalanceDelay = TimeSpan.FromSeconds(13),

http://git-wip-us.apache.org/repos/asf/ignite/blob/7721df27/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/CacheSwapSpaceTest.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/CacheSwapSpaceTest.cs b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/CacheSwapSpaceTest.cs
deleted file mode 100644
index 7b93815..0000000
--- a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/CacheSwapSpaceTest.cs
+++ /dev/null
@@ -1,122 +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.
- */
-
-namespace Apache.Ignite.Core.Tests.Cache
-{
-    using System.IO;
-    using System.Linq;
-    using System.Threading;
-    using Apache.Ignite.Core.Cache;
-    using Apache.Ignite.Core.Cache.Configuration;
-    using Apache.Ignite.Core.Cache.Eviction;
-    using Apache.Ignite.Core.Discovery.Tcp;
-    using Apache.Ignite.Core.Impl;
-    using Apache.Ignite.Core.SwapSpace.File;
-    using NUnit.Framework;
-
-    /// <summary>
-    /// Tests the swap space.
-    /// </summary>
-    public class CacheSwapSpaceTest
-    {
-        /** */
-        private readonly string _tempDir = IgniteUtils.GetTempDirectoryName();
-
-        /// <summary>
-        /// Fixture tear down.
-        /// </summary>
-        [TestFixtureTearDown]
-        public void FixtureTearDown()
-        {
-            Ignition.StopAll(true);
-
-            Directory.Delete(_tempDir, true);
-        }
-
-        /// <summary>
-        /// Tests that swap space is disabled by default and cache can't have EnableSwap.
-        /// </summary>
-        [Test]
-        public void TestDisabledSwapSpace()
-        {
-            var cfg = new IgniteConfiguration(TestUtils.GetTestConfiguration());
-
-            using (var ignite = Ignition.Start(cfg))
-            {
-                // NoopSwapSpaceSpi is used by default.
-                Assert.IsNull(ignite.GetConfiguration().SwapSpaceSpi);
-
-                var ex = Assert.Throws<CacheException>(
-                    () => ignite.CreateCache<int, int>(new CacheConfiguration {EnableSwap = true}));
-
-                Assert.IsTrue(ex.Message.EndsWith("has not swap SPI configured"));
-            }
-        }
-
-        /// <summary>
-        /// Tests the swap space.
-        /// </summary>
-        [Test]
-        public void TestSwapSpace()
-        {
-            const int entrySize = 1024;
-
-            var cfg = new IgniteConfiguration(TestUtils.GetTestConfiguration())
-            {
-                SwapSpaceSpi = new FileSwapSpaceSpi
-                {
-                    BaseDirectory = _tempDir,
-                    WriteBufferSize = 64
-                }
-            };
-
-            using (var ignite = Ignition.Start(cfg))
-            {
-                // Create cache with eviction and swap.
-                var cache = ignite.CreateCache<int, byte[]>(new CacheConfiguration("cache")
-                {
-                    EnableSwap = true,
-                    EvictionPolicy = new LruEvictionPolicy
-                    {
-                        MaxSize = 3
-                    },
-                    OffHeapMaxMemory = 5 * entrySize
-                });
-
-                // Populate to trigger eviction.
-                var data = Enumerable.Range(1, entrySize).Select(x => (byte) x).ToArray();
-
-                for (int i = 0; i < 10; i++)
-                    cache[i] = data;
-
-                // Check that swap files exist.
-                var files = Directory.GetFiles(_tempDir, "*.*", SearchOption.AllDirectories);
-                CollectionAssert.IsNotEmpty(files);
-                
-                // Wait for metrics update and check metrics.
-                Thread.Sleep(((TcpDiscoverySpi) ignite.GetConfiguration().DiscoverySpi).HeartbeatFrequency);
-
-                var metrics = cache.GetLocalMetrics();
-
-                Assert.AreEqual(4, metrics.OffHeapEntriesCount);  // Entry takes more space than the value
-                Assert.AreEqual(3, metrics.SwapEntriesCount);  // 10 - 3 - 4 = 3
-                Assert.AreEqual(3, metrics.OverflowSize / entrySize);
-                Assert.AreEqual(metrics.SwapSize, metrics.OverflowSize);
-            }
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/ignite/blob/7721df27/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/Store/CacheStoreTest.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/Store/CacheStoreTest.cs b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/Store/CacheStoreTest.cs
index d39ccde..9f1268b 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/Store/CacheStoreTest.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/Store/CacheStoreTest.cs
@@ -289,9 +289,10 @@ namespace Apache.Ignite.Core.Tests.Cache.Store
 
             Assert.AreEqual(1, map.Count);
 
-            cache.LocalEvict(new[] { 1 });
+            // TODO: IGNITE-4535
+            //cache.LocalEvict(new[] { 1 });
 
-            Assert.AreEqual(0, cache.GetSize());
+            //Assert.AreEqual(0, cache.GetSize(CachePeekMode.All));
 
             Assert.AreEqual("val", cache.Get(1));
 
@@ -300,9 +301,10 @@ namespace Apache.Ignite.Core.Tests.Cache.Store
             // Test errors
             CacheTestStore.ThrowError = true;
             CheckCustomStoreError(Assert.Throws<CacheStoreException>(() => cache.Put(-2, "fail")).InnerException);
-
-            cache.LocalEvict(new[] { 1 });
-            CheckCustomStoreError(Assert.Throws<CacheStoreException>(() => cache.Get(1)).InnerException);
+            
+            // TODO: IGNITE-4535
+            //cache.LocalEvict(new[] { 1 });
+            //CheckCustomStoreError(Assert.Throws<CacheStoreException>(() => cache.Get(1)).InnerException);
         }
 
         [Test]
@@ -320,9 +322,10 @@ namespace Apache.Ignite.Core.Tests.Cache.Store
 
             Assert.AreEqual(1, v.GetField<int>("_idx"));
 
-            cache.LocalEvict(new[] { 1 });
+            // TODO: IGNITE-4535
+            //cache.LocalEvict(new[] { 1 });
 
-            Assert.AreEqual(0, cache.GetSize());
+            //Assert.AreEqual(0, cache.GetSize());
 
             Assert.AreEqual(1, cache.Get(1).Index());
 
@@ -343,10 +346,11 @@ namespace Apache.Ignite.Core.Tests.Cache.Store
             Value v = (Value)map[1];
 
             Assert.AreEqual(1, v.Index());
+                        
+            // TODO: IGNITE-4535
+            //cache.LocalEvict(new[] { 1 });
 
-            cache.LocalEvict(new[] { 1 });
-
-            Assert.AreEqual(0, cache.GetSize());
+            //Assert.AreEqual(0, cache.GetSize());
 
             Assert.AreEqual(1, cache.Get(1).Index());
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/7721df27/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Config/native-client-test-cache.xml
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Config/native-client-test-cache.xml b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Config/native-client-test-cache.xml
index f811823..9f2e5d6 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Config/native-client-test-cache.xml
+++ b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Config/native-client-test-cache.xml
@@ -107,10 +107,6 @@
             </list>
         </property>
 
-        <property name="swapSpaceSpi">
-            <bean class="org.apache.ignite.spi.swapspace.inmemory.GridTestSwapSpaceSpi"/>
-        </property>
-
         <property name="discoverySpi">
             <bean class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi">
                 <property name="ipFinder">
@@ -137,7 +133,6 @@
     <bean id="cache-template" abstract="true" class="org.apache.ignite.configuration.CacheConfiguration">
         <property name="rebalanceMode" value="SYNC"/>
         <property name="writeSynchronizationMode" value="FULL_SYNC"/>
-        <property name="swapEnabled" value="true"/>
         <property name="backups" value="1"/>
         <property name="eagerTtl" value="true"/>
     </bean>

http://git-wip-us.apache.org/repos/asf/ignite/blob/7721df27/modules/platforms/dotnet/Apache.Ignite.Core.Tests/DeploymentTest.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/DeploymentTest.cs b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/DeploymentTest.cs
index ab5a1a6..b4d76fa 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/DeploymentTest.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/DeploymentTest.cs
@@ -76,7 +76,6 @@ namespace Apache.Ignite.Core.Tests
                 "-springConfigUrl=" + springFile,
                 "-jvmClasspath=" + classpath,
                 "-J-ea",
-                "-J-Xcheck:jni",
                 "-J-Xms512m",
                 "-J-Xmx512m"
             });

http://git-wip-us.apache.org/repos/asf/ignite/blob/7721df27/modules/platforms/dotnet/Apache.Ignite.Core.Tests/EventsTest.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/EventsTest.cs b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/EventsTest.cs
index cc21490..f4bdc08 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/EventsTest.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/EventsTest.cs
@@ -51,9 +51,6 @@ namespace Apache.Ignite.Core.Tests
         /** */
         private IIgnite[] _grids;
         
-        /** */
-        public static int IdGen;
-
         [TestFixtureTearDown]
         public void FixtureTearDown()
         {
@@ -240,7 +237,7 @@ namespace Apache.Ignite.Core.Tests
                     EventObjectType = typeof (CacheEvent),
                     GenerateEvent = g => g.GetCache<int, int>(null).Put(1, 1),
                     VerifyEvents = (e, g) => VerifyCacheEvents(e, g),
-                    EventCount = 2
+                    EventCount = 3
                 };
 
                 yield return new EventTestCase
@@ -533,7 +530,7 @@ namespace Apache.Ignite.Core.Tests
                 Assert.AreEqual(expectedGuid, cacheEvent.SubjectId);
                 Assert.AreEqual("cloClsName", cacheEvent.ClosureClassName);
                 Assert.AreEqual("taskName", cacheEvent.TaskName);
-                Assert.IsTrue(cacheEvent.ToShortString().StartsWith("SWAP_SPACE_CLEARED: IsNear="));
+                Assert.IsTrue(cacheEvent.ToShortString().StartsWith("NODE_FAILED: IsNear="));
 
                 var qryExecEvent = EventReader.Read<CacheQueryExecutedEvent>(reader);
                 CheckEventBase(qryExecEvent);
@@ -544,7 +541,7 @@ namespace Apache.Ignite.Core.Tests
                 Assert.AreEqual(expectedGuid, qryExecEvent.SubjectId);
                 Assert.AreEqual("taskName", qryExecEvent.TaskName);
                 Assert.AreEqual(
-                    "SWAP_SPACE_CLEARED: QueryType=qryType, CacheName=cacheName, ClassName=clsName, Clause=clause, " +
+                    "NODE_FAILED: QueryType=qryType, CacheName=cacheName, ClassName=clsName, Clause=clause, " +
                     "SubjectId=00000000-0000-0001-0000-000000000002, TaskName=taskName", qryExecEvent.ToShortString());
 
                 var qryReadEvent = EventReader.Read<CacheQueryReadEvent>(reader);
@@ -560,7 +557,7 @@ namespace Apache.Ignite.Core.Tests
                 Assert.AreEqual(3, qryReadEvent.OldValue);
                 Assert.AreEqual(4, qryReadEvent.Row);
                 Assert.AreEqual(
-                    "SWAP_SPACE_CLEARED: QueryType=qryType, CacheName=cacheName, ClassName=clsName, Clause=clause, " +
+                    "NODE_FAILED: QueryType=qryType, CacheName=cacheName, ClassName=clsName, Clause=clause, " +
                     "SubjectId=00000000-0000-0001-0000-000000000002, TaskName=taskName, Key=1, Value=2, " +
                     "OldValue=3, Row=4", qryReadEvent.ToShortString());
 
@@ -572,18 +569,18 @@ namespace Apache.Ignite.Core.Tests
                 Assert.AreEqual(2, cacheRebalancingEvent.DiscoveryEventType);
                 Assert.AreEqual(3, cacheRebalancingEvent.DiscoveryTimestamp);
                 Assert.IsTrue(cacheRebalancingEvent.ToShortString().StartsWith(
-                    "SWAP_SPACE_CLEARED: CacheName=cacheName, Partition=1, DiscoveryNode=GridNode"));
+                    "NODE_FAILED: CacheName=cacheName, Partition=1, DiscoveryNode=GridNode"));
 
                 var checkpointEvent = EventReader.Read<CheckpointEvent>(reader);
                 CheckEventBase(checkpointEvent);
                 Assert.AreEqual("cpKey", checkpointEvent.Key);
-                Assert.AreEqual("SWAP_SPACE_CLEARED: Key=cpKey", checkpointEvent.ToShortString());
+                Assert.AreEqual("NODE_FAILED: Key=cpKey", checkpointEvent.ToShortString());
 
                 var discoEvent = EventReader.Read<DiscoveryEvent>(reader);
                 CheckEventBase(discoEvent);
                 Assert.AreEqual(grid.TopologyVersion, discoEvent.TopologyVersion);
                 Assert.AreEqual(grid.GetNodes(), discoEvent.TopologyNodes);
-                Assert.IsTrue(discoEvent.ToShortString().StartsWith("SWAP_SPACE_CLEARED: EventNode=GridNode"));
+                Assert.IsTrue(discoEvent.ToShortString().StartsWith("NODE_FAILED: EventNode=GridNode"));
 
                 var jobEvent = EventReader.Read<JobEvent>(reader);
                 CheckEventBase(jobEvent);
@@ -593,12 +590,7 @@ namespace Apache.Ignite.Core.Tests
                 Assert.AreEqual(locNode, jobEvent.TaskNode);
                 Assert.AreEqual(expectedGridGuid, jobEvent.TaskSessionId);
                 Assert.AreEqual(expectedGuid, jobEvent.TaskSubjectId);
-                Assert.IsTrue(jobEvent.ToShortString().StartsWith("SWAP_SPACE_CLEARED: TaskName=taskName"));
-
-                var spaceEvent = EventReader.Read<SwapSpaceEvent>(reader);
-                CheckEventBase(spaceEvent);
-                Assert.AreEqual("space", spaceEvent.Space);
-                Assert.IsTrue(spaceEvent.ToShortString().StartsWith("SWAP_SPACE_CLEARED: Space=space"));
+                Assert.IsTrue(jobEvent.ToShortString().StartsWith("NODE_FAILED: TaskName=taskName"));
 
                 var taskEvent = EventReader.Read<TaskEvent>(reader);
                 CheckEventBase(taskEvent);
@@ -607,7 +599,7 @@ namespace Apache.Ignite.Core.Tests
                 Assert.AreEqual("taskClsName", taskEvent.TaskClassName);
                 Assert.AreEqual("taskName", taskEvent.TaskName);
                 Assert.AreEqual(expectedGridGuid, taskEvent.TaskSessionId);
-                Assert.IsTrue(taskEvent.ToShortString().StartsWith("SWAP_SPACE_CLEARED: TaskName=taskName"));
+                Assert.IsTrue(taskEvent.ToShortString().StartsWith("NODE_FAILED: TaskName=taskName"));
             }
         }
 
@@ -621,7 +613,7 @@ namespace Apache.Ignite.Core.Tests
 
             Assert.AreEqual(locNode, evt.Node);
             Assert.AreEqual("msg", evt.Message);
-            Assert.AreEqual(EventType.SwapSpaceCleared, evt.Type);
+            Assert.AreEqual(EventType.NodeFailed, evt.Type);
             Assert.IsNotNullOrEmpty(evt.Name);
             Assert.AreNotEqual(Guid.Empty, evt.Id.GlobalId);
             Assert.IsTrue(Math.Abs((evt.Timestamp - DateTime.UtcNow).TotalSeconds) < 20, 
@@ -629,8 +621,8 @@ namespace Apache.Ignite.Core.Tests
 
             Assert.Greater(evt.LocalOrder, 0);
 
-            Assert.IsTrue(evt.ToString().Contains("[Name=SWAP_SPACE_CLEARED"));
-            Assert.IsTrue(evt.ToShortString().StartsWith("SWAP_SPACE_CLEARED"));
+            Assert.IsTrue(evt.ToString().Contains("[Name=NODE_FAILED"));
+            Assert.IsTrue(evt.ToShortString().StartsWith("NODE_FAILED"));
         }
 
         /// <summary>
@@ -747,6 +739,11 @@ namespace Apache.Ignite.Core.Tests
                     Assert.AreEqual(false, cacheEvent.HasNewValue);
                     Assert.AreEqual(null, cacheEvent.NewValue);
                 }
+                else if (cacheEvent.Type == EventType.CacheEntryDestroyed)
+                {
+                    Assert.IsFalse(cacheEvent.HasNewValue);
+                    Assert.IsFalse(cacheEvent.HasOldValue);
+                }
                 else
                 {
                     Assert.Fail("Unexpected event type");

http://git-wip-us.apache.org/repos/asf/ignite/blob/7721df27/modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteConfigurationSerializerTest.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteConfigurationSerializerTest.cs b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteConfigurationSerializerTest.cs
index 26e04a9..ba86b86 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteConfigurationSerializerTest.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteConfigurationSerializerTest.cs
@@ -49,7 +49,6 @@ namespace Apache.Ignite.Core.Tests
     using Apache.Ignite.Core.Impl.Common;
     using Apache.Ignite.Core.Lifecycle;
     using Apache.Ignite.Core.Log;
-    using Apache.Ignite.Core.SwapSpace.File;
     using Apache.Ignite.Core.Tests.Binary;
     using Apache.Ignite.Core.Transactions;
     using Apache.Ignite.NLog;
@@ -127,7 +126,6 @@ namespace Apache.Ignite.Core.Tests
                             <atomicConfiguration backups='2' cacheMode='Local' atomicSequenceReserveSize='250' />
                             <transactionConfiguration defaultTransactionConcurrency='Optimistic' defaultTransactionIsolation='RepeatableRead' defaultTimeout='0:1:2' pessimisticTransactionLogSize='15' pessimisticTransactionLogLinger='0:0:33' />
                             <logger type='Apache.Ignite.Core.Tests.IgniteConfigurationSerializerTest+TestLogger, Apache.Ignite.Core.Tests' />
-                            <swapSpaceSpi type='FileSwapSpaceSpi' baseDirectory='abcd' maximumSparsity='0.7' maximumWriteQueueSize='25' readStripesNumber='36' writeBufferSize='47' />
                         </igniteConfig>";
 
             var cfg = IgniteConfiguration.FromXml(xml);
@@ -217,14 +215,6 @@ namespace Apache.Ignite.Core.Tests
 
             Assert.IsInstanceOf<TestLogger>(cfg.Logger);
 
-            var swap = cfg.SwapSpaceSpi as FileSwapSpaceSpi;
-            Assert.IsNotNull(swap);
-            Assert.AreEqual("abcd", swap.BaseDirectory);
-            Assert.AreEqual(0.7f, swap.MaximumSparsity);
-            Assert.AreEqual(25, swap.MaximumWriteQueueSize);
-            Assert.AreEqual(36, swap.ReadStripesNumber);
-            Assert.AreEqual(47, swap.WriteBufferSize);
-
             var binType = cfg.BinaryConfiguration.TypeConfigurations.Single();
             Assert.AreEqual("typeName", binType.TypeName);
             Assert.AreEqual("affKeyFieldName", binType.AffinityKeyFieldName);
@@ -597,7 +587,6 @@ namespace Apache.Ignite.Core.Tests
                         CacheStoreFactory = new TestCacheStoreFactory(),
                         CopyOnRead = false,
                         EagerTtl = false,
-                        EnableSwap = true,
                         EvictSynchronized = true,
                         EvictSynchronizedConcurrencyLevel = 13,
                         EvictSynchronizedKeyBufferSize = 14,
@@ -609,7 +598,6 @@ namespace Apache.Ignite.Core.Tests
                         LongQueryWarningTimeout = TimeSpan.FromSeconds(99),
                         MaxConcurrentAsyncOperations = 24,
                         MaxEvictionOverflowRatio = 5.6F,
-                        MemoryMode = CacheMemoryMode.OffheapValues,
                         OffHeapMaxMemory = 567,
                         QueryEntities = new[]
                         {
@@ -754,14 +742,6 @@ namespace Apache.Ignite.Core.Tests
                 SpringConfigUrl = "test",
                 Logger = new IgniteNLogLogger(),
                 FailureDetectionTimeout = TimeSpan.FromMinutes(2),
-                SwapSpaceSpi = new FileSwapSpaceSpi
-                {
-                    MaximumSparsity = 0.1f,
-                    MaximumWriteQueueSize = 55,
-                    WriteBufferSize = 66,
-                    ReadStripesNumber = 77,
-                    BaseDirectory = "test"
-                }
             };
         }
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/7721df27/modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteConfigurationTest.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteConfigurationTest.cs b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteConfigurationTest.cs
index 86ece98..b9a05c2 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteConfigurationTest.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteConfigurationTest.cs
@@ -35,7 +35,6 @@ namespace Apache.Ignite.Core.Tests
     using Apache.Ignite.Core.Events;
     using Apache.Ignite.Core.Impl;
     using Apache.Ignite.Core.Impl.Binary;
-    using Apache.Ignite.Core.SwapSpace.File;
     using Apache.Ignite.Core.Transactions;
     using NUnit.Framework;
 
@@ -81,7 +80,6 @@ namespace Apache.Ignite.Core.Tests
             CheckDefaultValueAttributes(new LruEvictionPolicy());
             CheckDefaultValueAttributes(new AtomicConfiguration());
             CheckDefaultValueAttributes(new TransactionConfiguration());
-            CheckDefaultValueAttributes(new FileSwapSpaceSpi());
         }
 
         /// <summary>
@@ -175,14 +173,6 @@ namespace Apache.Ignite.Core.Tests
 
                 Assert.AreEqual(cfg.FailureDetectionTimeout, resCfg.FailureDetectionTimeout);
 
-                var swap = (FileSwapSpaceSpi) cfg.SwapSpaceSpi;
-                var resSwap = (FileSwapSpaceSpi) resCfg.SwapSpaceSpi;
-                Assert.AreEqual(swap.MaximumSparsity, resSwap.MaximumSparsity);
-                Assert.AreEqual(swap.BaseDirectory, resSwap.BaseDirectory);
-                Assert.AreEqual(swap.MaximumWriteQueueSize, resSwap.MaximumWriteQueueSize);
-                Assert.AreEqual(swap.ReadStripesNumber, resSwap.ReadStripesNumber);
-                Assert.AreEqual(swap.WriteBufferSize, resSwap.WriteBufferSize);
-
                 var binCfg = cfg.BinaryConfiguration;
                 Assert.IsFalse(binCfg.CompactFooter);
 
@@ -469,7 +459,7 @@ namespace Apache.Ignite.Core.Tests
                     TopologyHistorySize = 1234567
                 },
                 GridName = "gridName1",
-                IncludedEventTypes = EventType.SwapspaceAll,
+                IncludedEventTypes = EventType.DiscoveryAll,
                 MetricsExpireTime = TimeSpan.FromMinutes(7),
                 MetricsHistorySize = 125,
                 MetricsLogFrequency = TimeSpan.FromMinutes(8),
@@ -519,14 +509,6 @@ namespace Apache.Ignite.Core.Tests
                     UnacknowledgedMessagesBufferSize = 3450
                 },
                 FailureDetectionTimeout = TimeSpan.FromSeconds(3.5),
-                SwapSpaceSpi = new FileSwapSpaceSpi
-                {
-                    ReadStripesNumber = 64,
-                    MaximumWriteQueueSize = 8,
-                    WriteBufferSize = 9,
-                    BaseDirectory = Path.GetTempPath(),
-                    MaximumSparsity = 11.22f
-                },
                 BinaryConfiguration = new BinaryConfiguration
                 {
                     CompactFooter = false,

http://git-wip-us.apache.org/repos/asf/ignite/blob/7721df27/modules/platforms/dotnet/Apache.Ignite.Core/Apache.Ignite.Core.csproj
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Apache.Ignite.Core.csproj b/modules/platforms/dotnet/Apache.Ignite.Core/Apache.Ignite.Core.csproj
index d58c872..232cd5d 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Apache.Ignite.Core.csproj
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Apache.Ignite.Core.csproj
@@ -219,7 +219,6 @@
     <Compile Include="Cache\Configuration\CacheAtomicityMode.cs" />
     <Compile Include="Cache\Configuration\CacheAtomicWriteOrderMode.cs" />
     <Compile Include="Cache\Configuration\CacheConfiguration.cs" />
-    <Compile Include="Cache\Configuration\CacheMemoryMode.cs" />
     <Compile Include="Cache\Configuration\CacheMode.cs" />
     <Compile Include="Cache\Configuration\CacheRebalanceMode.cs" />
     <Compile Include="Cache\Configuration\CacheWriteSynchronizationMode.cs" />
@@ -260,7 +259,6 @@
     <Compile Include="Events\IEvents.cs" />
     <Compile Include="Events\JobEvent.cs" />
     <Compile Include="Events\Package-Info.cs" />
-    <Compile Include="Events\SwapSpaceEvent.cs" />
     <Compile Include="Events\TaskEvent.cs" />
     <Compile Include="GlobalSuppressions.cs" />
     <Compile Include="IgniteConfiguration.cs" />
@@ -432,7 +430,6 @@
     <Compile Include="Impl\Services\ServiceProxyInvoker.cs" />
     <Compile Include="Impl\Services\ServiceProxySerializer.cs" />
     <Compile Include="Impl\Services\Services.cs" />
-    <Compile Include="Impl\SwapSpace\SwapSpaceSerializer.cs" />
     <Compile Include="Impl\Transactions\Transaction.cs" />
     <Compile Include="Impl\Transactions\TransactionImpl.cs" />
     <Compile Include="Impl\Transactions\TransactionMetricsImpl.cs" />
@@ -487,8 +484,6 @@
     <Compile Include="Services\Package-Info.cs" />
     <Compile Include="Services\ServiceConfiguration.cs" />
     <Compile Include="Services\ServiceInvocationException.cs" />
-    <Compile Include="SwapSpace\File\FileSwapSpaceSpi.cs" />
-    <Compile Include="SwapSpace\ISwapSpaceSpi.cs" />
     <Compile Include="Transactions\ITransaction.cs" />
     <Compile Include="Transactions\ITransactionMetrics.cs" />
     <Compile Include="Transactions\ITransactions.cs" />

http://git-wip-us.apache.org/repos/asf/ignite/blob/7721df27/modules/platforms/dotnet/Apache.Ignite.Core/Cache/CachePeekMode.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Cache/CachePeekMode.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Cache/CachePeekMode.cs
index 0a089ad..1855ee3 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Cache/CachePeekMode.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Cache/CachePeekMode.cs
@@ -58,11 +58,6 @@ namespace Apache.Ignite.Core.Cache
         /// <summary>
         /// Peeks value from the off-heap storage only, without loading off-heap value into cache.
         /// </summary>
-        Offheap = 0x20,
-
-        /// <summary>
-        /// Peeks value from the swap storage only, without loading swapped value into cache.
-        /// </summary>
-        Swap = 0x40
+        Offheap = 0x20
     }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/7721df27/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Configuration/CacheConfiguration.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Configuration/CacheConfiguration.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Configuration/CacheConfiguration.cs
index 2795111..0bcb687 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Configuration/CacheConfiguration.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Configuration/CacheConfiguration.cs
@@ -102,9 +102,6 @@ namespace Apache.Ignite.Core.Cache.Configuration
         /// <summary> Default off-heap storage size is {@code -1} which means that off-heap storage is disabled. </summary>
         public const long DefaultOffHeapMaxMemory = -1;
 
-        /// <summary> Default value for 'swapEnabled' flag. </summary>
-        public const bool DefaultEnableSwap = false;
-
         /// <summary> Default value for 'maxConcurrentAsyncOps'. </summary>
         public const int DefaultMaxConcurrentAsyncOperations = 500;
 
@@ -126,9 +123,6 @@ namespace Apache.Ignite.Core.Cache.Configuration
         /// <summary> Default value for load previous value flag. </summary>
         public const bool DefaultLoadPreviousValue = false;
 
-        /// <summary> Default memory mode. </summary>
-        public const CacheMemoryMode DefaultMemoryMode = CacheMemoryMode.OnheapTiered;
-
         /// <summary> Default value for 'readFromBackup' flag. </summary>
         public const bool DefaultReadFromBackup = true;
 
@@ -187,7 +181,6 @@ namespace Apache.Ignite.Core.Cache.Configuration
             LongQueryWarningTimeout = DefaultLongQueryWarningTimeout;
             MaxConcurrentAsyncOperations = DefaultMaxConcurrentAsyncOperations;
             MaxEvictionOverflowRatio = DefaultMaxEvictionOverflowRatio;
-            MemoryMode = DefaultMemoryMode;
             OffHeapMaxMemory = DefaultOffHeapMaxMemory;
             ReadFromBackup = DefaultReadFromBackup;
             RebalanceBatchSize = DefaultRebalanceBatchSize;
@@ -196,7 +189,6 @@ namespace Apache.Ignite.Core.Cache.Configuration
             RebalanceTimeout = DefaultRebalanceTimeout;
             SqlOnheapRowCacheSize = DefaultSqlOnheapRowCacheSize;
             StartSize = DefaultStartSize;
-            EnableSwap = DefaultEnableSwap;
             WriteBehindBatchSize = DefaultWriteBehindBatchSize;
             WriteBehindEnabled = DefaultWriteBehindEnabled;
             WriteBehindFlushFrequency = DefaultWriteBehindFlushFrequency;
@@ -240,7 +232,6 @@ namespace Apache.Ignite.Core.Cache.Configuration
             CacheMode = (CacheMode) reader.ReadInt();
             CopyOnRead = reader.ReadBoolean();
             EagerTtl = reader.ReadBoolean();
-            EnableSwap = reader.ReadBoolean();
             EvictSynchronized = reader.ReadBoolean();
             EvictSynchronizedConcurrencyLevel = reader.ReadInt();
             EvictSynchronizedKeyBufferSize = reader.ReadInt();
@@ -252,7 +243,6 @@ namespace Apache.Ignite.Core.Cache.Configuration
             LongQueryWarningTimeout = reader.ReadLongAsTimespan();
             MaxConcurrentAsyncOperations = reader.ReadInt();
             MaxEvictionOverflowRatio = reader.ReadFloat();
-            MemoryMode = (CacheMemoryMode) reader.ReadInt();
             Name = reader.ReadString();
             OffHeapMaxMemory = reader.ReadLong();
             ReadFromBackup = reader.ReadBoolean();
@@ -297,7 +287,6 @@ namespace Apache.Ignite.Core.Cache.Configuration
             writer.WriteInt((int) CacheMode);
             writer.WriteBoolean(CopyOnRead);
             writer.WriteBoolean(EagerTtl);
-            writer.WriteBoolean(EnableSwap);
             writer.WriteBoolean(EvictSynchronized);
             writer.WriteInt(EvictSynchronizedConcurrencyLevel);
             writer.WriteInt(EvictSynchronizedKeyBufferSize);
@@ -309,7 +298,6 @@ namespace Apache.Ignite.Core.Cache.Configuration
             writer.WriteLong((long) LongQueryWarningTimeout.TotalMilliseconds);
             writer.WriteInt(MaxConcurrentAsyncOperations);
             writer.WriteFloat(MaxEvictionOverflowRatio);
-            writer.WriteInt((int) MemoryMode);
             writer.WriteString(Name);
             writer.WriteLong(OffHeapMaxMemory);
             writer.WriteBoolean(ReadFromBackup);
@@ -512,14 +500,6 @@ namespace Apache.Ignite.Core.Cache.Configuration
         public int RebalanceBatchSize { get; set; }
 
         /// <summary>
-        /// Flag indicating whether Ignite should use swap storage by default.
-        /// <para />
-        /// Enabling this requires configured <see cref="IgniteConfiguration.SwapSpaceSpi"/>.
-        /// </summary>
-        [DefaultValue(DefaultEnableSwap)]
-        public bool EnableSwap { get; set; }
-
-        /// <summary>
         /// Gets or sets maximum number of allowed concurrent asynchronous operations, 0 for unlimited.
         /// </summary>
         [DefaultValue(DefaultMaxConcurrentAsyncOperations)]
@@ -605,12 +585,6 @@ namespace Apache.Ignite.Core.Cache.Configuration
         public long OffHeapMaxMemory { get; set; }
 
         /// <summary>
-        /// Gets or sets memory mode for cache.
-        /// </summary>
-        [DefaultValue(DefaultMemoryMode)]
-        public CacheMemoryMode MemoryMode { get; set; }
-
-        /// <summary>
         /// Gets or sets flag indicating whether data can be read from backup.
         /// </summary>
         [DefaultValue(DefaultReadFromBackup)]

http://git-wip-us.apache.org/repos/asf/ignite/blob/7721df27/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Configuration/CacheMemoryMode.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Configuration/CacheMemoryMode.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Configuration/CacheMemoryMode.cs
deleted file mode 100644
index a072302..0000000
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Configuration/CacheMemoryMode.cs
+++ /dev/null
@@ -1,60 +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.
- */
-
-namespace Apache.Ignite.Core.Cache.Configuration
-{
-    /// <summary>
-    /// Memory modes define whether cache entries are stored on heap memory, offheap memory, or in swap space.
-    /// </summary>
-    public enum CacheMemoryMode
-    {
-        /// <summary>
-        /// Entries will be stored on-heap first. The onheap tiered storage works as follows:
-        /// <list type="bullet">
-        /// <item><description>
-        /// Entries are cached on heap memory first.
-        /// </description></item>
-        /// <item><description>
-        /// If offheap memory is enabled and eviction policy evicts an entry from heap memory, 
-        /// entry will be moved to offheap memory. If offheap memory is disabled, then entry is simply discarded.
-        /// </description></item>
-        /// <item><description>
-        /// If swap space is enabled and offheap memory fills up, then entry will be evicted into swap space. 
-        /// 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.
-        /// </description></item>
-        /// </list>
-        /// <para />
-        /// Note that heap memory evictions are handled by configured EvictionPolicy implementation. By default, 
-        /// no eviction policy is enabled, so entries never leave heap memory space unless explicitly removed.
-        /// </summary>
-        OnheapTiered,
-
-        /// <summary>
-        /// Works the same as <see cref="OnheapTiered"/>, except that entries never end up in heap memory and get 
-        /// stored in offheap memory right away. Entries get cached in offheap memory first and then 
-        /// get evicted to swap, if one is configured.
-        /// </summary>
-        OffheapTiered,
-
-        /// <summary>
-        /// Entry keys will be stored on heap memory, and values will be stored in offheap memory.
-        /// Note that in this mode entries can be evicted only to swap.
-        /// </summary>
-        OffheapValues
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ignite/blob/7721df27/modules/platforms/dotnet/Apache.Ignite.Core/Events/EventReader.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Events/EventReader.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Events/EventReader.cs
index 269e0bb..0b3c82a 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Events/EventReader.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Events/EventReader.cs
@@ -60,7 +60,6 @@ namespace Apache.Ignite.Core.Events
                 case 6: return new CheckpointEvent(reader);
                 case 7: return new DiscoveryEvent(reader);
                 case 8: return new JobEvent(reader);
-                case 9: return new SwapSpaceEvent(reader);
                 case 10: return new TaskEvent(reader);
             }
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/7721df27/modules/platforms/dotnet/Apache.Ignite.Core/Events/EventType.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Events/EventType.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Events/EventType.cs
index 56a1b83..827b45b 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Events/EventType.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Events/EventType.cs
@@ -222,46 +222,11 @@ namespace Apache.Ignite.Core.Events
         public static readonly int CacheObjectUnlocked = 67;
 
         /// <summary>
-        /// Built-in event type: cache object swapped from swap storage.
-        /// </summary>
-        public static readonly int CacheObjectSwapped = 68;
-
-        /// <summary>
-        /// Built-in event type: cache object unswapped from swap storage.
-        /// </summary>
-        public static readonly int CacheObjectUnswapped = 69;
-
-        /// <summary>
         /// Built-in event type: cache object was expired when reading it.
         /// </summary>
         public static readonly int CacheObjectExpired = 70;
 
         /// <summary>
-        /// Built-in event type: swap space data read.
-        /// </summary>
-        public static readonly int SwapSpaceDataRead = 71;
-
-        /// <summary>
-        /// Built-in event type: swap space data stored.
-        /// </summary>
-        public static readonly int SwapSpaceDataStored = 72;
-
-        /// <summary>
-        /// Built-in event type: swap space data removed.
-        /// </summary>
-        public static readonly int SwapSpaceDataRemoved = 73;
-
-        /// <summary>
-        /// Built-in event type: swap space cleared.
-        /// </summary>
-        public static readonly int SwapSpaceCleared = 74;
-
-        /// <summary>
-        /// Built-in event type: swap space data evicted.
-        /// </summary>
-        public static readonly int SwapSpaceDataEvicted = 75;
-
-        /// <summary>
         /// Built-in event type: cache object stored in off-heap storage.
         /// </summary>
         public static readonly int CacheObjectToOffheap = 76;
@@ -420,8 +385,6 @@ namespace Apache.Ignite.Core.Events
             CacheObjectRemoved,
             CacheObjectLocked,
             CacheObjectUnlocked,
-            CacheObjectSwapped,
-            CacheObjectUnswapped,
             CacheObjectExpired
         }.AsReadOnly();
 
@@ -459,18 +422,6 @@ namespace Apache.Ignite.Core.Events
         }.AsReadOnly();
 
         /// <summary>
-        /// All swap space events.
-        /// </summary>
-        private static readonly ICollection<int> SwapspaceAll0 = new[]
-        {
-            SwapSpaceCleared,
-            SwapSpaceDataRemoved,
-            SwapSpaceDataRead,
-            SwapSpaceDataStored,
-            SwapSpaceDataEvicted
-        }.AsReadOnly();
-
-        /// <summary>
         /// All Ignite events.
         /// </summary>
         private static readonly ICollection<int> All0 = GetAllEvents().AsReadOnly();
@@ -499,14 +450,6 @@ namespace Apache.Ignite.Core.Events
         }
 
         /// <summary>
-        /// All swap space events.
-        /// </summary>
-        public static ICollection<int> SwapspaceAll
-        {
-            get { return SwapspaceAll0; }
-        }
-
-        /// <summary>
         /// All cache query events.
         /// </summary>
         public static ICollection<int> CacheQueryAll

http://git-wip-us.apache.org/repos/asf/ignite/blob/7721df27/modules/platforms/dotnet/Apache.Ignite.Core/Events/SwapSpaceEvent.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Events/SwapSpaceEvent.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Events/SwapSpaceEvent.cs
deleted file mode 100644
index 5d28d4c..0000000
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Events/SwapSpaceEvent.cs
+++ /dev/null
@@ -1,51 +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.
- */
-
-namespace Apache.Ignite.Core.Events
-{
-    using System.Globalization;
-    using Apache.Ignite.Core.Binary;
-
-    /// <summary>
-    /// Grid swap space event.
-    /// </summary>
-    public sealed class SwapSpaceEvent : EventBase
-	{
-        /** */
-        private readonly string _space;
-
-        /// <summary>
-        /// Constructor.
-        /// </summary>
-        /// <param name="r">The reader to read data from.</param>
-        internal SwapSpaceEvent(IBinaryRawReader r) : base(r)
-        {
-            _space = r.ReadString();
-        }
-		
-        /// <summary>
-        /// Gets swap space name. 
-        /// </summary>
-        public string Space { get { return _space; } }
-
-        /** <inheritDoc /> */
-	    public override string ToShortString()
-	    {
-            return string.Format(CultureInfo.InvariantCulture, "{0}: Space={1}", Name, Space);
-	    }
-    }
-}

http://git-wip-us.apache.org/repos/asf/ignite/blob/7721df27/modules/platforms/dotnet/Apache.Ignite.Core/IgniteConfiguration.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/IgniteConfiguration.cs b/modules/platforms/dotnet/Apache.Ignite.Core/IgniteConfiguration.cs
index ce9fcf6..93c8976 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/IgniteConfiguration.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/IgniteConfiguration.cs
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
- namespace Apache.Ignite.Core
+namespace Apache.Ignite.Core
 {
     using System;
     using System.Collections.Generic;
@@ -39,10 +39,8 @@
     using Apache.Ignite.Core.Impl;
     using Apache.Ignite.Core.Impl.Binary;
     using Apache.Ignite.Core.Impl.Common;
-    using Apache.Ignite.Core.Impl.SwapSpace;
     using Apache.Ignite.Core.Lifecycle;
     using Apache.Ignite.Core.Log;
-    using Apache.Ignite.Core.SwapSpace;
     using Apache.Ignite.Core.Transactions;
     using BinaryReader = Apache.Ignite.Core.Impl.Binary.BinaryReader;
     using BinaryWriter = Apache.Ignite.Core.Impl.Binary.BinaryWriter;
@@ -328,9 +326,6 @@
             }
             else
                 writer.WriteBoolean(false);
-
-            // Swap space
-            SwapSpaceSerializer.Write(writer, SwapSpaceSpi);
         }
 
         /// <summary>
@@ -437,9 +432,6 @@
                     PessimisticTransactionLogLinger = TimeSpan.FromMilliseconds(r.ReadInt())
                 };
             }
-
-            // Swap
-            SwapSpaceSpi = SwapSpaceSerializer.Read(r);
         }
 
         /// <summary>
@@ -851,10 +843,5 @@
             get { return _failureDetectionTimeout ?? DefaultFailureDetectionTimeout; }
             set { _failureDetectionTimeout = value; }
         }
-
-        /// <summary>
-        /// Gets or sets the swap space SPI.
-        /// </summary>
-        public ISwapSpaceSpi SwapSpaceSpi { get; set; }
     }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/7721df27/modules/platforms/dotnet/Apache.Ignite.Core/IgniteConfigurationSection.xsd
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/IgniteConfigurationSection.xsd b/modules/platforms/dotnet/Apache.Ignite.Core/IgniteConfigurationSection.xsd
index d54a200..98522fa 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/IgniteConfigurationSection.xsd
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/IgniteConfigurationSection.xsd
@@ -46,14 +46,6 @@
         </xs:restriction>
     </xs:simpleType>
 
-    <xs:simpleType name="cacheMemoryMode" final="restriction">
-        <xs:restriction base="xs:string">
-            <xs:enumeration value="OnheapTiered" />
-            <xs:enumeration value="OffheapTiered" />
-            <xs:enumeration value="OffheapValues" />
-        </xs:restriction>
-    </xs:simpleType>
-
     <xs:simpleType name="cacheRebalanceMode" final="restriction">
         <xs:restriction base="xs:string">
             <xs:enumeration value="Sync" />
@@ -626,11 +618,6 @@
                                             <xs:documentation>Batch size (in number bytes) to be loaded within a single rebalance message. Rebalancing algorithm will split total data set on every node into multiple batches prior to sending data.</xs:documentation>
                                         </xs:annotation>
                                     </xs:attribute>
-                                    <xs:attribute name="enableSwap" type="xs:boolean">
-                                        <xs:annotation>
-                                            <xs:documentation>Flag indicating whether Ignite should use swap storage by default.</xs:documentation>
-                                        </xs:annotation>
-                                    </xs:attribute>
                                     <xs:attribute name="maxConcurrentAsyncOperations" type="xs:int">
                                         <xs:annotation>
                                             <xs:documentation>Maximum number of allowed concurrent asynchronous operations, 0 for unlimited.</xs:documentation>
@@ -680,11 +667,6 @@
                                             <xs:documentation>Maximum amount of memory available to off-heap storage. Possible values are -1 means that off-heap storage is disabled. 0 means that Ignite will not limit off-heap storage (it's up to user to properly add and remove entries from cache to ensure that off-heap storage does not grow indefinitely. Any positive value specifies the limit of off-heap storage in bytes.</xs:documentation>
                                         </xs:annotation>
                                     </xs:attribute>
-                                    <xs:attribute name="memoryMode" type="cacheMemoryMode">
-                                        <xs:annotation>
-                                            <xs:documentation>Memory mode for cache.</xs:documentation>
-                                        </xs:annotation>
-                                    </xs:attribute>
                                     <xs:attribute name="longQueryWarningTimeout" type="xs:string">
                                         <xs:annotation>
                                             <xs:documentation>Timeout after which long query warning will be printed.</xs:documentation>
@@ -1143,43 +1125,6 @@
                         </xs:attribute>
                     </xs:complexType>
                 </xs:element>
-                <xs:element name="swapSpaceSpi" minOccurs="0">
-                    <xs:annotation>
-                        <xs:documentation>Swap space SPI.</xs:documentation>
-                    </xs:annotation>
-                    <xs:complexType>
-                        <xs:attribute name="type" type="xs:string" use="required">
-                            <xs:annotation>
-                                <xs:documentation>Assembly-qualified type name.</xs:documentation>
-                            </xs:annotation>
-                        </xs:attribute>
-                        <xs:attribute name="baseDirectory" type="xs:string">
-                            <xs:annotation>
-                                <xs:documentation>Base directory.</xs:documentation>
-                            </xs:annotation>
-                        </xs:attribute>
-                        <xs:attribute name="maximumSparsity" type="xs:decimal">
-                            <xs:annotation>
-                                <xs:documentation>Maximum sparsity. This property defines maximum acceptable wasted file space to whole file size ratio. When this ratio becomes higher than specified number compacting thread starts working.</xs:documentation>
-                            </xs:annotation>
-                        </xs:attribute>
-                        <xs:attribute name="maximumWriteQueueSize" type="xs:int">
-                            <xs:annotation>
-                                <xs:documentation>Maximum size of the write queue in bytes. If there are more values are waiting to be written to disk then specified size, SPI will block on write operation.</xs:documentation>
-                            </xs:annotation>
-                        </xs:attribute>
-                        <xs:attribute name="readStripesNumber" type="xs:int">
-                            <xs:annotation>
-                                <xs:documentation>Read stripes number. Defines number of file channels to be used concurrently. Defaults to Environment.ProcessorCount.</xs:documentation>
-                            </xs:annotation>
-                        </xs:attribute>
-                        <xs:attribute name="writeBufferSize" type="xs:int">
-                            <xs:annotation>
-                                <xs:documentation>Size of the write buffer, in bytes. Write to disk occurs only when this buffer is full.</xs:documentation>
-                            </xs:annotation>
-                        </xs:attribute>
-                    </xs:complexType>
-                </xs:element>
             </xs:all>
             <xs:attribute name="gridName" type="xs:string">
                 <xs:annotation>

http://git-wip-us.apache.org/repos/asf/ignite/blob/7721df27/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/BinaryEqualityComparerSerializer.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/BinaryEqualityComparerSerializer.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/BinaryEqualityComparerSerializer.cs
index bb26076..6400751 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/BinaryEqualityComparerSerializer.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/BinaryEqualityComparerSerializer.cs
@@ -28,7 +28,7 @@ namespace Apache.Ignite.Core.Impl.Binary
     internal static class BinaryEqualityComparerSerializer
     {
         /// <summary>
-        /// SwapSpace type.
+        /// Comparer type.
         /// </summary>
         private enum Type : byte
         {

http://git-wip-us.apache.org/repos/asf/ignite/blob/7721df27/modules/platforms/dotnet/Apache.Ignite.Core/Impl/SwapSpace/SwapSpaceSerializer.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/SwapSpace/SwapSpaceSerializer.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/SwapSpace/SwapSpaceSerializer.cs
deleted file mode 100644
index 7fdbaad..0000000
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/SwapSpace/SwapSpaceSerializer.cs
+++ /dev/null
@@ -1,99 +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.
- */
-
-namespace Apache.Ignite.Core.Impl.SwapSpace
-{
-    using System;
-    using System.Diagnostics;
-    using Apache.Ignite.Core.Binary;
-    using Apache.Ignite.Core.SwapSpace;
-    using Apache.Ignite.Core.SwapSpace.File;
-
-    /// <summary>
-    /// SwapSpace config serializer.
-    /// </summary>
-    internal static class SwapSpaceSerializer
-    {
-        /// <summary>
-        /// SwapSpace type.
-        /// </summary>
-        private enum Type : byte
-        {
-            None = 0,
-            File = 1
-        }
-
-        /// <summary>
-        /// Writes the configuration to writer.
-        /// </summary>
-        public static void Write(IBinaryRawWriter writer, ISwapSpaceSpi spi)
-        {
-            Debug.Assert(writer != null);
-
-            var fileSwap = spi as FileSwapSpaceSpi;
-
-            if (spi == null)
-            {
-                writer.WriteByte((byte) Type.None);
-            }
-            else if (fileSwap != null)
-            {
-                writer.WriteByte((byte) Type.File);
-
-                writer.WriteString(fileSwap.BaseDirectory);
-                writer.WriteFloat(fileSwap.MaximumSparsity);
-                writer.WriteInt(fileSwap.MaximumWriteQueueSize);
-                writer.WriteInt(fileSwap.ReadStripesNumber);
-                writer.WriteInt(fileSwap.WriteBufferSize);
-
-            }
-            else
-            {
-                throw new InvalidOperationException("Unsupported swap space SPI: " + spi.GetType());
-            }
-        }
-
-        /// <summary>
-        /// Reads the configuration from reader.
-        /// </summary>
-        public static ISwapSpaceSpi Read(IBinaryRawReader reader)
-        {
-            Debug.Assert(reader != null);
-
-            var type = (Type) reader.ReadByte();
-
-            switch (type)
-            {
-                case Type.None:
-                    return null;
-
-                case Type.File:
-                    return new FileSwapSpaceSpi
-                    {
-                        BaseDirectory = reader.ReadString(),
-                        MaximumSparsity = reader.ReadFloat(),
-                        MaximumWriteQueueSize = reader.ReadInt(),
-                        ReadStripesNumber = reader.ReadInt(),
-                        WriteBufferSize = reader.ReadInt()
-                    };
-
-                default:
-                    throw new ArgumentOutOfRangeException("Invalid Swap Space SPI type: " + type);
-            }
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/ignite/blob/7721df27/modules/platforms/dotnet/Apache.Ignite.Core/SwapSpace/File/FileSwapSpaceSpi.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/SwapSpace/File/FileSwapSpaceSpi.cs b/modules/platforms/dotnet/Apache.Ignite.Core/SwapSpace/File/FileSwapSpaceSpi.cs
deleted file mode 100644
index 2140275..0000000
--- a/modules/platforms/dotnet/Apache.Ignite.Core/SwapSpace/File/FileSwapSpaceSpi.cs
+++ /dev/null
@@ -1,105 +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.
- */
-
-namespace Apache.Ignite.Core.SwapSpace.File
-{
-    using System;
-    using System.ComponentModel;
-
-    /// <summary>
-    /// File-based swap space SPI implementation which holds keys in memory and values on disk.
-    /// It is intended for cases when value is bigger than 100 bytes, otherwise it will not 
-    /// have any positive effect.
-    /// </summary>
-    public class FileSwapSpaceSpi : ISwapSpaceSpi
-    {
-        /// <summary>
-        /// Default value for <see cref="MaximumSparsity"/> property.
-        /// </summary>
-        public const float DefaultMaximumSparsity = 0.5f;
-
-        /// <summary>
-        /// Default value for <see cref="WriteBufferSize"/> property.
-        /// </summary>
-        public const int DefaultWriteBufferSize = 64 * 1024;
-
-        /// <summary>
-        /// Default value for <see cref="MaximumWriteQueueSize"/> property.
-        /// </summary>
-        public const int DefaultMaximumWriteQueueSize = 1024 * 1024;
-
-        /// <summary>
-        /// Default value for <see cref="ReadStripesNumber"/> property.
-        /// </summary>
-        public static readonly int DefaultReadStripesNumber = Environment.ProcessorCount;
-
-        /// <summary>
-        /// Initializes a new instance of the <see cref="FileSwapSpaceSpi"/> class.
-        /// </summary>
-        public FileSwapSpaceSpi()
-        {
-            MaximumSparsity = DefaultMaximumSparsity;
-            MaximumWriteQueueSize = DefaultMaximumWriteQueueSize;
-            ReadStripesNumber = DefaultReadStripesNumber;
-            WriteBufferSize = DefaultWriteBufferSize;
-        }
-
-        /// <summary>
-        /// Gets or sets the base directory.
-        /// </summary>
-        public string BaseDirectory { get; set; }
-
-        /// <summary>
-        /// Gets or sets the maximum sparsity. This property defines maximum acceptable
-        /// wasted file space to whole file size ratio.
-        /// When this ratio becomes higher than specified number compacting thread starts working.
-        /// </summary>
-        /// <value>
-        /// The maximum sparsity. Must be between 0 and 1.
-        /// </value>
-        [DefaultValue(DefaultMaximumSparsity)]
-        public float MaximumSparsity { get; set; }
-
-        /// <summary>
-        /// Gets or sets the maximum size of the write queue in bytes. If there are more values are waiting
-        /// to be written to disk then specified size, SPI will block on write operation.
-        /// </summary>
-        /// <value>
-        /// The maximum size of the write queue, in bytes.
-        /// </value>
-        [DefaultValue(DefaultMaximumWriteQueueSize)]
-        public int MaximumWriteQueueSize { get; set; }
-
-        /// <summary>
-        /// Gets or sets the read stripes number. Defines number of file channels to be used concurrently. 
-        /// Default is <see cref="Environment.ProcessorCount"/>.
-        /// </summary>
-        /// <value>
-        /// Number of read stripes.
-        /// </value>
-        public int ReadStripesNumber { get; set; }
-
-        /// <summary>
-        /// Gets or sets the size of the write buffer, in bytes. Write to disk occurs only when this buffer is full.
-        /// </summary>
-        /// <value>
-        /// The size of the write buffer, in bytes.
-        /// </value>
-        [DefaultValue(DefaultWriteBufferSize)]
-        public int WriteBufferSize { get; set; }
-    }
-}

http://git-wip-us.apache.org/repos/asf/ignite/blob/7721df27/modules/platforms/dotnet/Apache.Ignite.Core/SwapSpace/ISwapSpaceSpi.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/SwapSpace/ISwapSpaceSpi.cs b/modules/platforms/dotnet/Apache.Ignite.Core/SwapSpace/ISwapSpaceSpi.cs
deleted file mode 100644
index a348b7b..0000000
--- a/modules/platforms/dotnet/Apache.Ignite.Core/SwapSpace/ISwapSpaceSpi.cs
+++ /dev/null
@@ -1,35 +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.
- */
-
-namespace Apache.Ignite.Core.SwapSpace
-{
-    using System.Diagnostics.CodeAnalysis;
-    using Apache.Ignite.Core.SwapSpace.File;
-
-    /// <summary>
-    /// Provides a mechanism in grid for storing data on disk. Ignite cache uses swap space to overflow 
-    /// data to disk if it cannot fit in memory. 
-    /// Logically storage is organized into independent 'spaces' in which data is stored.
-    /// <para />
-    /// Only predefined implementation is supported now: <see cref="FileSwapSpaceSpi"/>.
-    /// </summary>
-    [SuppressMessage("Microsoft.Design", "CA1040:AvoidEmptyInterfaces")]
-    public interface ISwapSpaceSpi
-    {
-        // No-op.
-    }
-}

http://git-wip-us.apache.org/repos/asf/ignite/blob/7721df27/modules/platforms/dotnet/examples/Apache.Ignite.Examples/Datagrid/MultiTieredCacheExample.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/examples/Apache.Ignite.Examples/Datagrid/MultiTieredCacheExample.cs b/modules/platforms/dotnet/examples/Apache.Ignite.Examples/Datagrid/MultiTieredCacheExample.cs
index 629ed89..9336fc7 100644
--- a/modules/platforms/dotnet/examples/Apache.Ignite.Examples/Datagrid/MultiTieredCacheExample.cs
+++ b/modules/platforms/dotnet/examples/Apache.Ignite.Examples/Datagrid/MultiTieredCacheExample.cs
@@ -27,7 +27,6 @@ namespace Apache.Ignite.Examples.Datagrid
     using Apache.Ignite.Core.Cache.Eviction;
     using Apache.Ignite.Core.Discovery.Tcp;
     using Apache.Ignite.Core.Discovery.Tcp.Multicast;
-    using Apache.Ignite.Core.SwapSpace.File;
 
     /// <summary>
     /// This example demonstrates on how to configure a multi-tiered Ignite cache that will store data in different 
@@ -60,22 +59,7 @@ namespace Apache.Ignite.Examples.Datagrid
 
             Console.WriteLine(">>> Swap space directory: " + swapDir);
 
-            var cfg = new IgniteConfiguration
-            {
-                DiscoverySpi = new TcpDiscoverySpi
-                {
-                    IpFinder = new TcpDiscoveryMulticastIpFinder
-                    {
-                        Endpoints = new[] { "127.0.0.1:47500" }
-                    }
-                },
-                SwapSpaceSpi = new FileSwapSpaceSpi
-                {
-                    BaseDirectory = swapDir
-                }
-            };
-
-            using (var ignite = Ignition.Start(cfg))
+            using (var ignite = Ignition.StartFromApplicationConfiguration())
             {
                 var cacheCfg = new CacheConfiguration
                 {
@@ -87,8 +71,6 @@ namespace Apache.Ignite.Examples.Datagrid
                     },
                     // Limit off-heap to roughly 10 entries. Actual entry count will be lower due to metadata overhead.
                     OffHeapMaxMemory = EntrySize * 10,
-                    // Data will be swapped to disk if there is no more space in off-heap space.
-                    EnableSwap = true 
                 };
 
                 ICache<int, byte[]> cache = ignite.GetOrCreateCache<int, byte[]>(cacheCfg);
@@ -130,9 +112,9 @@ namespace Apache.Ignite.Examples.Datagrid
         {
             var metrics = cache.GetLocalMetrics();
 
-            Console.WriteLine("\n>>> Cache entries layout: [Total={0}, Java heap={1}, Off-Heap={2}, Swap={3}]",
+            Console.WriteLine("\n>>> Cache entries layout: [Total={0}, Java heap={1}, Off-Heap={2}]",
                 cache.GetSize(CachePeekMode.All), 
-                metrics.Size, metrics.OffHeapEntriesCount, metrics.SwapEntriesCount);
+                metrics.Size, metrics.OffHeapEntriesCount);
         }
     }
 }
\ No newline at end of file


Mime
View raw message