You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by vo...@apache.org on 2015/12/09 15:17:03 UTC

[1/5] ignite git commit: ignite-1.5 Fixed asserts in GridTransactionalCacheQueueImpl to take into account case when queue data was really lost.

Repository: ignite
Updated Branches:
  refs/heads/ignite-2099 7d734157e -> 1c8208e0d


ignite-1.5 Fixed asserts in GridTransactionalCacheQueueImpl to take into account case when queue data was really lost.


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

Branch: refs/heads/ignite-2099
Commit: add6161451d3e8b263782e52c51a0e2b34daeb3f
Parents: 3016c0f
Author: sboikov <sb...@gridgain.com>
Authored: Wed Dec 9 16:32:48 2015 +0300
Committer: sboikov <sb...@gridgain.com>
Committed: Wed Dec 9 16:32:48 2015 +0300

----------------------------------------------------------------------
 .../GridTransactionalCacheQueueImpl.java        |  32 +++--
 ...eAbstractDataStructuresFailoverSelfTest.java | 138 +++++++++++++++----
 2 files changed, 128 insertions(+), 42 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/add61614/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/GridTransactionalCacheQueueImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/GridTransactionalCacheQueueImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/GridTransactionalCacheQueueImpl.java
index 32e94d3..7b80765 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/GridTransactionalCacheQueueImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/GridTransactionalCacheQueueImpl.java
@@ -96,22 +96,28 @@ public class GridTransactionalCacheQueueImpl<T> extends GridCacheQueueAdapter<T>
                 @Override public T call() throws Exception {
                     T retVal;
 
-                    try (IgniteInternalTx tx = cache.txStartEx(PESSIMISTIC, REPEATABLE_READ)) {
-                        Long idx = (Long)cache.invoke(queueKey, new PollProcessor(id)).get();
+                    while (true) {
+                        try (IgniteInternalTx tx = cache.txStartEx(PESSIMISTIC, REPEATABLE_READ)) {
+                            Long idx = (Long)cache.invoke(queueKey, new PollProcessor(id)).get();
 
-                        if (idx != null) {
-                            checkRemoved(idx);
+                            if (idx != null) {
+                                checkRemoved(idx);
 
-                            retVal = (T)cache.getAndRemove(itemKey(idx));
+                                retVal = (T)cache.getAndRemove(itemKey(idx));
 
-                            assert retVal != null : idx;
-                        }
-                        else
-                            retVal = null;
+                                if (retVal == null) { // Possible if data was lost.
+                                    tx.commit();
 
-                        tx.commit();
+                                    continue;
+                                }
+                            }
+                            else
+                                retVal = null;
 
-                        return retVal;
+                            tx.commit();
+
+                            return retVal;
+                        }
                     }
                 }
             }).call();
@@ -188,9 +194,7 @@ public class GridTransactionalCacheQueueImpl<T> extends GridCacheQueueAdapter<T>
                         if (idx != null) {
                             checkRemoved(idx);
 
-                            boolean rmv = cache.remove(itemKey(idx));
-
-                            assert rmv : idx;
+                            cache.remove(itemKey(idx));
                         }
 
                         tx.commit();

http://git-wip-us.apache.org/repos/asf/ignite/blob/add61614/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/datastructures/GridCacheAbstractDataStructuresFailoverSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/datastructures/GridCacheAbstractDataStructuresFailoverSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/datastructures/GridCacheAbstractDataStructuresFailoverSelfTest.java
index cb16aeb..1e15c15 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/datastructures/GridCacheAbstractDataStructuresFailoverSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/datastructures/GridCacheAbstractDataStructuresFailoverSelfTest.java
@@ -196,14 +196,14 @@ public abstract class GridCacheAbstractDataStructuresFailoverSelfTest extends Ig
      * @throws Exception If failed.
      */
     public void testAtomicLongConstantTopologyChange() throws Exception {
-        doTestAtomicLong(new ConstantTopologyChangeWorker());
+        doTestAtomicLong(new ConstantTopologyChangeWorker(TOP_CHANGE_THREAD_CNT));
     }
 
     /**
      * @throws Exception If failed.
      */
     public void testAtomicLongConstantMultipleTopologyChange() throws Exception {
-        doTestAtomicLong(multipleTopologyChangeWorker());
+        doTestAtomicLong(multipleTopologyChangeWorker(TOP_CHANGE_THREAD_CNT));
     }
 
     /**
@@ -258,14 +258,14 @@ public abstract class GridCacheAbstractDataStructuresFailoverSelfTest extends Ig
      * @throws Exception If failed.
      */
     public void testAtomicReferenceConstantTopologyChange() throws Exception {
-        doTestAtomicReference(new ConstantTopologyChangeWorker());
+        doTestAtomicReference(new ConstantTopologyChangeWorker(TOP_CHANGE_THREAD_CNT));
     }
 
     /**
      * @throws Exception If failed.
      */
     public void testAtomicReferenceConstantMultipleTopologyChange() throws Exception {
-        doTestAtomicReference(multipleTopologyChangeWorker());
+        doTestAtomicReference(multipleTopologyChangeWorker(TOP_CHANGE_THREAD_CNT));
     }
 
     /**
@@ -326,14 +326,14 @@ public abstract class GridCacheAbstractDataStructuresFailoverSelfTest extends Ig
      * @throws Exception If failed.
      */
     public void testAtomicStampedConstantTopologyChange() throws Exception {
-        doTestAtomicStamped(new ConstantTopologyChangeWorker());
+        doTestAtomicStamped(new ConstantTopologyChangeWorker(TOP_CHANGE_THREAD_CNT));
     }
 
     /**
      * @throws Exception If failed.
      */
     public void testAtomicStampedConstantMultipleTopologyChange() throws Exception {
-        doTestAtomicStamped(multipleTopologyChangeWorker());
+        doTestAtomicStamped(multipleTopologyChangeWorker(TOP_CHANGE_THREAD_CNT));
     }
 
     /**
@@ -687,14 +687,14 @@ public abstract class GridCacheAbstractDataStructuresFailoverSelfTest extends Ig
      * @throws Exception If failed.
      */
     public void testCountDownLatchConstantTopologyChange() throws Exception {
-        doTestCountDownLatch(new ConstantTopologyChangeWorker());
+        doTestCountDownLatch(new ConstantTopologyChangeWorker(TOP_CHANGE_THREAD_CNT));
     }
 
     /**
      * @throws Exception If failed.
      */
     public void testCountDownLatchConstantMultipleTopologyChange() throws Exception {
-        doTestCountDownLatch(multipleTopologyChangeWorker());
+        doTestCountDownLatch(multipleTopologyChangeWorker(TOP_CHANGE_THREAD_CNT));
     }
 
     /**
@@ -758,15 +758,73 @@ public abstract class GridCacheAbstractDataStructuresFailoverSelfTest extends Ig
     /**
      * @throws Exception If failed.
      */
+    public void testQueueTopologyChange() throws Exception {
+        ConstantTopologyChangeWorker topWorker = new ConstantTopologyChangeWorker(TOP_CHANGE_THREAD_CNT);
+
+        try (final IgniteQueue<Integer> q = grid(0).queue(STRUCTURE_NAME, 0, config(false))) {
+            for (int i = 0; i < 1000; i++)
+                q.add(i);
+
+            final IgniteInternalFuture<?> fut = topWorker.startChangingTopology(new IgniteClosure<Ignite, Object>() {
+                @Override public Object apply(Ignite ignite) {
+                    return null;
+                }
+            });
+
+            IgniteInternalFuture<?> takeFut = GridTestUtils.runAsync(new Callable<Void>() {
+                @Override public Void call() throws Exception {
+                    while (!fut.isDone())
+                        q.take();
+
+                    return null;
+                }
+            });
+
+            IgniteInternalFuture<?> pollFut = GridTestUtils.runAsync(new Callable<Void>() {
+                @Override public Void call() throws Exception {
+                    while (!fut.isDone())
+                        q.poll();
+
+                    return null;
+                }
+            });
+
+            IgniteInternalFuture<?> addFut = GridTestUtils.runAsync(new Callable<Void>() {
+                @Override public Void call() throws Exception {
+                    while (!fut.isDone())
+                        q.add(0);
+
+                    return null;
+                }
+            });
+
+            fut.get();
+
+            pollFut.get();
+            addFut.get();
+
+            q.add(0);
+
+            takeFut.get();
+        }
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
     public void testQueueConstantTopologyChange() throws Exception {
-        doTestQueue(new ConstantTopologyChangeWorker());
+        int topChangeThreads = collectionCacheMode() == CacheMode.PARTITIONED ? 1 : TOP_CHANGE_THREAD_CNT;
+
+        doTestQueue(new ConstantTopologyChangeWorker(topChangeThreads));
     }
 
     /**
      * @throws Exception If failed.
      */
     public void testQueueConstantMultipleTopologyChange() throws Exception {
-        doTestQueue(multipleTopologyChangeWorker());
+        int topChangeThreads = collectionCacheMode() == CacheMode.PARTITIONED ? 1 : TOP_CHANGE_THREAD_CNT;
+
+        doTestQueue(multipleTopologyChangeWorker(topChangeThreads));
     }
 
     /**
@@ -902,14 +960,14 @@ public abstract class GridCacheAbstractDataStructuresFailoverSelfTest extends Ig
      * @throws Exception If failed.
      */
     public void testAtomicSequenceConstantTopologyChange() throws Exception {
-        doTestAtomicSequence(new ConstantTopologyChangeWorker());
+        doTestAtomicSequence(new ConstantTopologyChangeWorker(TOP_CHANGE_THREAD_CNT));
     }
 
     /**
      * @throws Exception If failed.
      */
     public void testAtomicSequenceConstantMultipleTopologyChange() throws Exception {
-        doTestAtomicSequence(multipleTopologyChangeWorker());
+        doTestAtomicSequence(multipleTopologyChangeWorker(TOP_CHANGE_THREAD_CNT));
     }
 
     /**
@@ -977,11 +1035,14 @@ public abstract class GridCacheAbstractDataStructuresFailoverSelfTest extends Ig
     }
 
     /**
+     * @param topChangeThreads Number of topology change threads.
+     *
      * @return Specific multiple topology change worker implementation.
      */
-    private ConstantTopologyChangeWorker multipleTopologyChangeWorker() {
-        return collectionCacheMode() == CacheMode.PARTITIONED ? new PartitionedMultipleTopologyChangeWorker() :
-            new MultipleTopologyChangeWorker();
+    private ConstantTopologyChangeWorker multipleTopologyChangeWorker(int topChangeThreads) {
+        return collectionCacheMode() == CacheMode.PARTITIONED ?
+            new PartitionedMultipleTopologyChangeWorker(topChangeThreads) :
+            new MultipleTopologyChangeWorker(topChangeThreads);
     }
 
     /**
@@ -991,13 +1052,24 @@ public abstract class GridCacheAbstractDataStructuresFailoverSelfTest extends Ig
         /** */
         protected final AtomicBoolean failed = new AtomicBoolean(false);
 
+        /** */
+        private final int topChangeThreads;
+
+        /**
+         * @param topChangeThreads Number of topology change threads.
+         */
+        public ConstantTopologyChangeWorker(int topChangeThreads) {
+            this.topChangeThreads = topChangeThreads;
+        }
+
         /**
          * Starts changing cluster's topology.
          *
+         * @param cb Callback to run after node start.
          * @return Future.
          */
-        IgniteInternalFuture<?> startChangingTopology(final IgniteClosure<Ignite, ?> callback) {
-            IgniteInternalFuture<?> fut = GridTestUtils.runMultiThreadedAsync(new CA() {
+        IgniteInternalFuture<?> startChangingTopology(final IgniteClosure<Ignite, ?> cb) {
+            return GridTestUtils.runMultiThreadedAsync(new CA() {
                 @Override public void apply() {
                     try {
                         for (int i = 0; i < TOP_CHANGE_CNT; i++) {
@@ -1011,7 +1083,7 @@ public abstract class GridCacheAbstractDataStructuresFailoverSelfTest extends Ig
 
                                 Ignite g = startGrid(name);
 
-                                callback.apply(g);
+                                cb.apply(g);
                             }
                             finally {
                                 if (i != TOP_CHANGE_CNT - 1)
@@ -1024,9 +1096,7 @@ public abstract class GridCacheAbstractDataStructuresFailoverSelfTest extends Ig
                             throw F.wrap(e);
                     }
                 }
-            }, TOP_CHANGE_THREAD_CNT, "topology-change-thread");
-
-            return fut;
+            }, topChangeThreads, "topology-change-thread");
         }
     }
 
@@ -1035,12 +1105,19 @@ public abstract class GridCacheAbstractDataStructuresFailoverSelfTest extends Ig
      */
     private class MultipleTopologyChangeWorker extends ConstantTopologyChangeWorker {
         /**
+         * @param topChangeThreads Number of topology change threads.
+         */
+        public MultipleTopologyChangeWorker(int topChangeThreads) {
+            super(topChangeThreads);
+        }
+
+        /**
          * Starts changing cluster's topology.
          *
          * @return Future.
          */
-        @Override IgniteInternalFuture<?> startChangingTopology(final IgniteClosure<Ignite, ?> callback) {
-            IgniteInternalFuture<?> fut = GridTestUtils.runMultiThreadedAsync(new CA() {
+        @Override IgniteInternalFuture<?> startChangingTopology(final IgniteClosure<Ignite, ?> cb) {
+            return GridTestUtils.runMultiThreadedAsync(new CA() {
                 @Override public void apply() {
                     try {
                         for (int i = 0; i < TOP_CHANGE_CNT; i++) {
@@ -1062,7 +1139,7 @@ public abstract class GridCacheAbstractDataStructuresFailoverSelfTest extends Ig
 
                                     names.add(name);
 
-                                    callback.apply(g);
+                                    cb.apply(g);
                                 }
                             }
                             finally {
@@ -1079,8 +1156,6 @@ public abstract class GridCacheAbstractDataStructuresFailoverSelfTest extends Ig
                     }
                 }
             }, TOP_CHANGE_THREAD_CNT, "topology-change-thread");
-
-            return fut;
         }
     }
 
@@ -1092,11 +1167,18 @@ public abstract class GridCacheAbstractDataStructuresFailoverSelfTest extends Ig
         private CyclicBarrier barrier;
 
         /**
+         * @param topChangeThreads Number of topology change threads.
+         */
+        public PartitionedMultipleTopologyChangeWorker(int topChangeThreads) {
+            super(topChangeThreads);
+        }
+
+        /**
          * Starts changing cluster's topology.
          *
          * @return Future.
          */
-        @Override IgniteInternalFuture<?> startChangingTopology(final IgniteClosure<Ignite, ?> callback) {
+        @Override IgniteInternalFuture<?> startChangingTopology(final IgniteClosure<Ignite, ?> cb) {
             final Semaphore sem = new Semaphore(TOP_CHANGE_THREAD_CNT);
 
             final ConcurrentSkipListSet<String> startedNodes = new ConcurrentSkipListSet<>();
@@ -1151,7 +1233,7 @@ public abstract class GridCacheAbstractDataStructuresFailoverSelfTest extends Ig
 
                                 Ignite g = startGrid(name);
 
-                                callback.apply(g);
+                                cb.apply(g);
                             }
 
                             try {


[4/5] ignite git commit: .NET: Fixed documentation in ICacheStore.

Posted by vo...@apache.org.
.NET: Fixed documentation in ICacheStore.


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

Branch: refs/heads/ignite-2099
Commit: 6791c50037e2406755ecb79c85812daf55e05a84
Parents: c946c76
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Wed Dec 9 17:16:56 2015 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Wed Dec 9 17:16:56 2015 +0300

----------------------------------------------------------------------
 .../Cache/Store/ICacheStore.cs                  | 32 ++++++++++----------
 1 file changed, 16 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/6791c500/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Store/ICacheStore.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Store/ICacheStore.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Store/ICacheStore.cs
index 1364780..d6e4f80 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Store/ICacheStore.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Store/ICacheStore.cs
@@ -33,24 +33,24 @@ namespace Apache.Ignite.Core.Cache.Store
     /// <example>
     /// Here is an example:
     /// <code>
-    /// <bean class="org.apache.ignite.configuration.CacheConfiguration">
+    /// &lt;bean class="org.apache.ignite.configuration.CacheConfiguration">
     ///     ...
-    ///     <property name="cacheStoreFactory">
-    ///         <bean class="org.apache.ignite.platform.dotnet.PlatformDotNetCacheStoreFactory">
-    ///             <property name="assemblyName" value="MyAssembly"/>
-    ///             <property name="className" value="MyApp.MyCacheStore"/>
-    ///             <property name="properties">
-    ///                 <map>
-    ///                     <entry key="IntProperty">
-    ///                         <value type="java.lang.Integer">42</value>
-    ///                     </entry>
-    ///                     <entry key="StringProperty" value="String value"/>
-    ///                 </map>
-    ///             </property>
-    ///         </bean>
-    ///     </property>
+    ///     &lt;property name="cacheStoreFactory">
+    ///         &lt;bean class="org.apache.ignite.platform.dotnet.PlatformDotNetCacheStoreFactory">
+    ///             &lt;property name="assemblyName" value="MyAssembly"/>
+    ///             &lt;property name="className" value="MyApp.MyCacheStore"/>
+    ///             &lt;property name="properties">
+    ///                 &lt;map>
+    ///                     &lt;entry key="IntProperty">
+    ///                         &lt;value type="java.lang.Integer">42&lt;/value>
+    ///                     &lt;/entry>
+    ///                     &lt;entry key="StringProperty" value="String value"/>
+    ///                 &lt;/map>
+    ///             &lt;/property>
+    ///         &lt;/bean>
+    ///     &lt;/property>
     ///     ...
-    /// </bean>
+    /// &lt;/bean>
     /// </code>
     /// </example>
     /// Assemply name and class name are passed to <a target="_blank" href="http://msdn.microsoft.com/en-us/library/d133hta4.aspx"><b>System.Activator.CreateInstance(String, String)</b></a>


[5/5] ignite git commit: Merge branch 'ignite-1.5' into ignite-2099

Posted by vo...@apache.org.
Merge branch 'ignite-1.5' into ignite-2099

Conflicts:
	modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/BinarySystemHandlers.cs


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

Branch: refs/heads/ignite-2099
Commit: 1c8208e0dc3217a98ce22cace4bc7e20c25a0f4a
Parents: 7d73415 6791c50
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Wed Dec 9 17:17:56 2015 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Wed Dec 9 17:17:56 2015 +0300

----------------------------------------------------------------------
 assembly/release-fabric-base.xml                |  13 --
 .../GridTransactionalCacheQueueImpl.java        |  32 +++--
 ...eAbstractDataStructuresFailoverSelfTest.java | 138 +++++++++++++++----
 .../Cache/Query/IQueryCursor.cs                 |   2 +-
 .../Apache.Ignite.Core/Cache/Query/QueryBase.cs |   2 +-
 .../Store/CacheParallelLoadStoreAdapter.cs      |   4 +-
 .../Cache/Store/CacheStoreAdapter.cs            |  12 +-
 .../Cache/Store/ICacheStore.cs                  |  36 ++---
 .../Apache.Ignite.Core/Cluster/ICluster.cs      |   2 +-
 .../Cluster/IClusterMetrics.cs                  |   6 +-
 .../Apache.Ignite.Core/Cluster/IClusterNode.cs  |   6 +-
 .../Apache.Ignite.Core/Compute/IComputeTask.cs  |   2 +-
 .../Datastream/IDataStreamer.cs                 |  12 +-
 .../Apache.Ignite.Core/Events/CacheEvent.cs     |   4 +-
 .../Apache.Ignite.Core/Events/TaskEvent.cs      |   2 +-
 .../dotnet/Apache.Ignite.Core/IIgnite.cs        |   6 +-
 .../dotnet/Apache.Ignite.Core/Ignition.cs       |  24 ++--
 .../Impl/Binary/BinaryObjectHeader.cs           |  10 +-
 .../Impl/Binary/BinaryUtils.cs                  |   1 -
 .../Impl/Binary/Metadata/BinaryTypeHolder.cs    |   1 +
 .../Apache.Ignite.Core/Impl/Cache/CacheImpl.cs  |   2 -
 .../Transactions/ITransaction.cs                |   2 +-
 modules/platforms/dotnet/Apache.Ignite.slnrel   |  43 ------
 .../platforms/dotnet/Apache.Ignite_x86.slnrel   |  43 ------
 modules/platforms/dotnet/README.txt             |  36 +++--
 modules/platforms/dotnet/examples/README.txt    |   8 --
 parent/pom.xml                                  |   2 +
 27 files changed, 221 insertions(+), 230 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/1c8208e0/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/BinaryUtils.cs
----------------------------------------------------------------------


[2/5] ignite git commit: IGNITE-2111: Build procedure for .NET. - update readmes, fix RAT, remove obsolete slnrels

Posted by vo...@apache.org.
IGNITE-2111: Build procedure for .NET.
- update readmes, fix RAT, remove obsolete slnrels


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

Branch: refs/heads/ignite-2099
Commit: d87ca48c0c6be4e806f2360f5cf1f6bcacada62a
Parents: add6161
Author: Pavel Tupitsyn <pt...@gridgain.com>
Authored: Wed Dec 9 16:51:26 2015 +0300
Committer: Pavel Tupitsyn <pt...@gridgain.com>
Committed: Wed Dec 9 16:51:26 2015 +0300

----------------------------------------------------------------------
 assembly/release-fabric-base.xml                | 13 ------
 modules/platforms/dotnet/Apache.Ignite.slnrel   | 43 --------------------
 .../platforms/dotnet/Apache.Ignite_x86.slnrel   | 43 --------------------
 modules/platforms/dotnet/README.txt             | 36 ++++++++++------
 modules/platforms/dotnet/examples/README.txt    |  8 ----
 parent/pom.xml                                  |  2 +
 6 files changed, 26 insertions(+), 119 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/d87ca48c/assembly/release-fabric-base.xml
----------------------------------------------------------------------
diff --git a/assembly/release-fabric-base.xml b/assembly/release-fabric-base.xml
index 00dd9a4..e6d4eb9 100644
--- a/assembly/release-fabric-base.xml
+++ b/assembly/release-fabric-base.xml
@@ -35,19 +35,6 @@
             <destName>ignite_x86.sln</destName>
         </file>
 
-        <!-- Copy .Net files. -->
-        <file>
-            <source>modules/platforms/dotnet/Apache.Ignite.slnrel</source>
-            <outputDirectory>/platforms/dotnet</outputDirectory>
-            <destName>Apache.Ignite.sln</destName>
-        </file>
-
-        <file>
-            <source>modules/platforms/dotnet/Apache.Ignite_x86.slnrel</source>
-            <outputDirectory>/platforms/dotnet</outputDirectory>
-            <destName>Apache.Ignite_x86.sln</destName>
-        </file>
-
         <!-- Other files. -->
         <file>
             <source>assembly/LICENSE_FABRIC</source>

http://git-wip-us.apache.org/repos/asf/ignite/blob/d87ca48c/modules/platforms/dotnet/Apache.Ignite.slnrel
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.slnrel b/modules/platforms/dotnet/Apache.Ignite.slnrel
deleted file mode 100644
index 2d1d35e..0000000
--- a/modules/platforms/dotnet/Apache.Ignite.slnrel
+++ /dev/null
@@ -1,43 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 11.00
-# Visual Studio 2010
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Apache.Ignite.Core", "Apache.Ignite.Core\Apache.Ignite.Core.csproj", "{4CD2F726-7E2B-46C4-A5BA-057BB82EECB6}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "common", "..\cpp\common\project\vs\common.vcxproj", "{4F7E4917-4612-4B96-9838-025711ADE391}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Apache.Ignite", "Apache.Ignite\Apache.Ignite.csproj", "{27F7F3C6-BDDE-43A9-B565-856F8395A04B}"
-EndProject
-Global
-	GlobalSection(SolutionConfigurationPlatforms) = preSolution
-		Release|x64 = Release|x64
-	EndGlobalSection
-	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{4CD2F726-7E2B-46C4-A5BA-057BB82EECB6}.Debug|x64.ActiveCfg = Debug|x64
-		{4CD2F726-7E2B-46C4-A5BA-057BB82EECB6}.Debug|x64.Build.0 = Debug|x64
-		{4CD2F726-7E2B-46C4-A5BA-057BB82EECB6}.Debug|x86.ActiveCfg = Debug|x86
-		{4CD2F726-7E2B-46C4-A5BA-057BB82EECB6}.Debug|x86.Build.0 = Debug|x86
-		{4CD2F726-7E2B-46C4-A5BA-057BB82EECB6}.Release|x64.ActiveCfg = Release|x64
-		{4CD2F726-7E2B-46C4-A5BA-057BB82EECB6}.Release|x64.Build.0 = Release|x64
-		{4CD2F726-7E2B-46C4-A5BA-057BB82EECB6}.Release|x86.ActiveCfg = Release|x86
-		{4CD2F726-7E2B-46C4-A5BA-057BB82EECB6}.Release|x86.Build.0 = Release|x86
-		{4F7E4917-4612-4B96-9838-025711ADE391}.Debug|x64.ActiveCfg = Debug|x64
-		{4F7E4917-4612-4B96-9838-025711ADE391}.Debug|x64.Build.0 = Debug|x64
-		{4F7E4917-4612-4B96-9838-025711ADE391}.Debug|x86.ActiveCfg = Debug|Win32
-		{4F7E4917-4612-4B96-9838-025711ADE391}.Debug|x86.Build.0 = Debug|Win32
-		{4F7E4917-4612-4B96-9838-025711ADE391}.Release|x64.ActiveCfg = Release|x64
-		{4F7E4917-4612-4B96-9838-025711ADE391}.Release|x64.Build.0 = Release|x64
-		{4F7E4917-4612-4B96-9838-025711ADE391}.Release|x86.ActiveCfg = Release|Win32
-		{4F7E4917-4612-4B96-9838-025711ADE391}.Release|x86.Build.0 = Release|Win32
-		{27F7F3C6-BDDE-43A9-B565-856F8395A04B}.Debug|x64.ActiveCfg = Debug|x64
-		{27F7F3C6-BDDE-43A9-B565-856F8395A04B}.Debug|x64.Build.0 = Debug|x64
-		{27F7F3C6-BDDE-43A9-B565-856F8395A04B}.Debug|x86.ActiveCfg = Debug|x86
-		{27F7F3C6-BDDE-43A9-B565-856F8395A04B}.Debug|x86.Build.0 = Debug|x86
-		{27F7F3C6-BDDE-43A9-B565-856F8395A04B}.Release|x64.ActiveCfg = Release|x64
-		{27F7F3C6-BDDE-43A9-B565-856F8395A04B}.Release|x64.Build.0 = Release|x64
-		{27F7F3C6-BDDE-43A9-B565-856F8395A04B}.Release|x86.ActiveCfg = Release|x86
-		{27F7F3C6-BDDE-43A9-B565-856F8395A04B}.Release|x86.Build.0 = Release|x86
-	EndGlobalSection
-	GlobalSection(SolutionProperties) = preSolution
-		HideSolutionNode = FALSE
-	EndGlobalSection
-EndGlobal

http://git-wip-us.apache.org/repos/asf/ignite/blob/d87ca48c/modules/platforms/dotnet/Apache.Ignite_x86.slnrel
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite_x86.slnrel b/modules/platforms/dotnet/Apache.Ignite_x86.slnrel
deleted file mode 100644
index 35f6286..0000000
--- a/modules/platforms/dotnet/Apache.Ignite_x86.slnrel
+++ /dev/null
@@ -1,43 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 11.00
-# Visual Studio 2010
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Apache.Ignite.Core", "Apache.Ignite.Core\Apache.Ignite.Core.csproj", "{4CD2F726-7E2B-46C4-A5BA-057BB82EECB6}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "common", "..\cpp\common\project\vs\common.vcxproj", "{4F7E4917-4612-4B96-9838-025711ADE391}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Apache.Ignite", "Apache.Ignite\Apache.Ignite.csproj", "{27F7F3C6-BDDE-43A9-B565-856F8395A04B}"
-EndProject
-Global
-	GlobalSection(SolutionConfigurationPlatforms) = preSolution
-		Release|x86 = Release|x86
-	EndGlobalSection
-	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{4CD2F726-7E2B-46C4-A5BA-057BB82EECB6}.Debug|x64.ActiveCfg = Debug|x64
-		{4CD2F726-7E2B-46C4-A5BA-057BB82EECB6}.Debug|x64.Build.0 = Debug|x64
-		{4CD2F726-7E2B-46C4-A5BA-057BB82EECB6}.Debug|x86.ActiveCfg = Debug|x86
-		{4CD2F726-7E2B-46C4-A5BA-057BB82EECB6}.Debug|x86.Build.0 = Debug|x86
-		{4CD2F726-7E2B-46C4-A5BA-057BB82EECB6}.Release|x64.ActiveCfg = Release|x64
-		{4CD2F726-7E2B-46C4-A5BA-057BB82EECB6}.Release|x64.Build.0 = Release|x64
-		{4CD2F726-7E2B-46C4-A5BA-057BB82EECB6}.Release|x86.ActiveCfg = Release|x86
-		{4CD2F726-7E2B-46C4-A5BA-057BB82EECB6}.Release|x86.Build.0 = Release|x86
-		{4F7E4917-4612-4B96-9838-025711ADE391}.Debug|x64.ActiveCfg = Debug|x64
-		{4F7E4917-4612-4B96-9838-025711ADE391}.Debug|x64.Build.0 = Debug|x64
-		{4F7E4917-4612-4B96-9838-025711ADE391}.Debug|x86.ActiveCfg = Debug|Win32
-		{4F7E4917-4612-4B96-9838-025711ADE391}.Debug|x86.Build.0 = Debug|Win32
-		{4F7E4917-4612-4B96-9838-025711ADE391}.Release|x64.ActiveCfg = Release|x64
-		{4F7E4917-4612-4B96-9838-025711ADE391}.Release|x64.Build.0 = Release|x64
-		{4F7E4917-4612-4B96-9838-025711ADE391}.Release|x86.ActiveCfg = Release|Win32
-		{4F7E4917-4612-4B96-9838-025711ADE391}.Release|x86.Build.0 = Release|Win32
-		{27F7F3C6-BDDE-43A9-B565-856F8395A04B}.Debug|x64.ActiveCfg = Debug|x64
-		{27F7F3C6-BDDE-43A9-B565-856F8395A04B}.Debug|x64.Build.0 = Debug|x64
-		{27F7F3C6-BDDE-43A9-B565-856F8395A04B}.Debug|x86.ActiveCfg = Debug|x86
-		{27F7F3C6-BDDE-43A9-B565-856F8395A04B}.Debug|x86.Build.0 = Debug|x86
-		{27F7F3C6-BDDE-43A9-B565-856F8395A04B}.Release|x64.ActiveCfg = Release|x64
-		{27F7F3C6-BDDE-43A9-B565-856F8395A04B}.Release|x64.Build.0 = Release|x64
-		{27F7F3C6-BDDE-43A9-B565-856F8395A04B}.Release|x86.ActiveCfg = Release|x86
-		{27F7F3C6-BDDE-43A9-B565-856F8395A04B}.Release|x86.Build.0 = Release|x86
-	EndGlobalSection
-	GlobalSection(SolutionProperties) = preSolution
-		HideSolutionNode = FALSE
-	EndGlobalSection
-EndGlobal

http://git-wip-us.apache.org/repos/asf/ignite/blob/d87ca48c/modules/platforms/dotnet/README.txt
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/README.txt b/modules/platforms/dotnet/README.txt
index 7159223..783e19e 100644
--- a/modules/platforms/dotnet/README.txt
+++ b/modules/platforms/dotnet/README.txt
@@ -6,19 +6,31 @@ Using Apache Ignite.NET APIs you can execute any computation closure on the grid
 perform concurrent operations on the data stored in cache, start ACID transactions,
 create distributed locks, subscribe for event listeners, etc.
 
-Full source code is provided. Users should build the library for intended platform.
+Files list:
 
-Common Requirements:
+ * Apache.Ignite.exe - executable to start standalone Ignite.NET node.
+ * Apache.Ignite.Core.dll - Ignite.NET API library.
+ * Apache.Ignite.Core.xml - Library XML documentation.
 
- * Microsoft Visual Studio (tm) 2010 or later
- * Microsoft Visual C++ 2010 Redistributable Package: http://www.microsoft.com/en-us/download/details.aspx?id=14632
- * Java Development Kit (JDK): https://java.com/en/download/index.jsp
- * JAVA_HOME environment variable must be set pointing to Java installation directory.
 
-Building the library:
- * Open and build %IGNITE_HOME%\platforms\dotnet\Apache.Ignite.sln (or Apache.Ignite_x86.sln if you are running
-   32-bit platform).
+Development
 
-Development:
- * Add the library Apache.Ignite.Core.dll to your project references.
- * To start Apache Ignite as a standalone node or Windows service use Apache.Ignite.exe.
\ No newline at end of file
+ * Download and install Microsoft Visual Studio C# 2010 or later:
+   https://www.visualstudio.com/
+   
+ * Download and install Microsoft Visual C++ 2010 Redistributable Package: 
+   http://www.microsoft.com/en-us/download/details.aspx?id=14632
+   
+ * Download and install the latest Java Development Kit:
+   https://java.com/en/download/index.jsp
+ 
+ * Set JAVA_HOME environment variable as per this tutorial: 
+   http://docs.oracle.com/cd/E19182-01/820-7851/inst_cli_jdk_javahome_t/index.html
+ 
+ * Add Apache.Ignite.Core.dll to your project references (or x86\Apache.Ignite.Core.dll if you need 32-bit version).
+
+ * To start Apache Ignite as a standalone node or Windows service use Apache.Ignite.exe.
+
+Links
+
+ * Documentation center: https://apacheignite-net.readme.io/
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ignite/blob/d87ca48c/modules/platforms/dotnet/examples/README.txt
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/examples/README.txt b/modules/platforms/dotnet/examples/README.txt
index ef5f3d9..e39f48a 100644
--- a/modules/platforms/dotnet/examples/README.txt
+++ b/modules/platforms/dotnet/examples/README.txt
@@ -1,14 +1,6 @@
 Apache Ignite.NET Examples
 ==================================
 
-Common requirements
-----------------------------------
- * Apache Ignite.NET library must be built using instructions from %IGNITE_HOME%\platforms\dotnet\README.txt.
-
-
-Running examples
-----------------------------------
-
  * Open Visual Studio solution %IGNITE_HOME%\platforms\dotnet\examples\Apache.Ignite.Examples.sln
  * Build Apache.Ignite.ExamplesDll project.
  * Set desired example as startup object in Apache.Ignite.Examples project and run it.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ignite/blob/d87ca48c/parent/pom.xml
----------------------------------------------------------------------
diff --git a/parent/pom.xml b/parent/pom.xml
index 18ee4a7..8728858 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -903,6 +903,8 @@
                                         <exclude>**/project/vs/**</exclude>
                                         <exclude>**/obj/x64/**</exclude>
                                         <exclude>**/obj/x86/**</exclude>
+                                        <exclude>**/bin/x64/**</exclude>
+                                        <exclude>**/bin/x86/**</exclude>
                                         <exclude>**/*.dxg</exclude>
                                     </excludes>
                                 </configuration>


[3/5] ignite git commit: .NET: Documentation fixes.

Posted by vo...@apache.org.
.NET: Documentation fixes.


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

Branch: refs/heads/ignite-2099
Commit: c946c762a15122ab41e8f88b0b9bac80e5d2d135
Parents: d87ca48
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Wed Dec 9 17:14:14 2015 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Wed Dec 9 17:14:14 2015 +0300

----------------------------------------------------------------------
 .../Cache/Query/IQueryCursor.cs                 |  2 +-
 .../Apache.Ignite.Core/Cache/Query/QueryBase.cs |  2 +-
 .../Store/CacheParallelLoadStoreAdapter.cs      |  4 ++--
 .../Cache/Store/CacheStoreAdapter.cs            | 12 +++++-----
 .../Cache/Store/ICacheStore.cs                  |  4 ++--
 .../Apache.Ignite.Core/Cluster/ICluster.cs      |  2 +-
 .../Cluster/IClusterMetrics.cs                  |  6 ++---
 .../Apache.Ignite.Core/Cluster/IClusterNode.cs  |  6 ++---
 .../Apache.Ignite.Core/Compute/IComputeTask.cs  |  2 +-
 .../Datastream/IDataStreamer.cs                 | 12 +++++-----
 .../Apache.Ignite.Core/Events/CacheEvent.cs     |  4 ++--
 .../Apache.Ignite.Core/Events/TaskEvent.cs      |  2 +-
 .../dotnet/Apache.Ignite.Core/IIgnite.cs        |  6 ++---
 .../dotnet/Apache.Ignite.Core/Ignition.cs       | 24 ++++++++++----------
 .../Impl/Binary/BinaryObjectHeader.cs           | 10 ++++----
 .../Impl/Binary/BinarySystemHandlers.cs         |  9 +-------
 .../Impl/Binary/BinaryUtils.cs                  |  1 -
 .../Impl/Binary/Metadata/BinaryTypeHolder.cs    |  1 +
 .../Apache.Ignite.Core/Impl/Cache/CacheImpl.cs  |  2 --
 .../Transactions/ITransaction.cs                |  2 +-
 20 files changed, 52 insertions(+), 61 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/c946c762/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Query/IQueryCursor.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Query/IQueryCursor.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Query/IQueryCursor.cs
index ffa0565..9ddac2a 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Query/IQueryCursor.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Query/IQueryCursor.cs
@@ -25,7 +25,7 @@ namespace Apache.Ignite.Core.Cache.Query
     /// Query result cursor. Can be processed either in iterative mode, or by taking
     /// all entries using <see cref="IQueryCursor{T}.GetAll()"/> method.
     /// <para />
-    /// Note that you get enumerator or call <code>GetAll()</code> method only once during
+    /// Note that you get enumerator or call <c>GetAll()</c> method only once during
     /// cursor lifetime. Any further attempts to get enumerator or all entries will result 
     /// in exception.
     /// </summary>

http://git-wip-us.apache.org/repos/asf/ignite/blob/c946c762/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Query/QueryBase.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Query/QueryBase.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Query/QueryBase.cs
index 1464589..5bbfc1c 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Query/QueryBase.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Query/QueryBase.cs
@@ -45,7 +45,7 @@ namespace Apache.Ignite.Core.Cache.Query
         public bool Local { get; set; }
 
         /// <summary>
-        /// Optional page size. If set to <code>0</code>, then <code>CacheQueryConfiguration.pageSize</code> is used.
+        /// Optional page size. If set to <c>0</c>, then <c>CacheQueryConfiguration.pageSize</c> is used.
         /// </summary>
         public int PageSize { get; set; }
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/c946c762/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Store/CacheParallelLoadStoreAdapter.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Store/CacheParallelLoadStoreAdapter.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Store/CacheParallelLoadStoreAdapter.cs
index e80f1a7..147f1bd 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Store/CacheParallelLoadStoreAdapter.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Store/CacheParallelLoadStoreAdapter.cs
@@ -103,12 +103,12 @@ namespace Apache.Ignite.Core.Cache.Store
         /// Loads an object. Application developers should implement this method to customize the loading
         /// of a value for a cache entry.
         /// This method is called by a cache when a requested entry is not in the cache.
-        /// If the object can't be loaded <code>null</code> should be returned.
+        /// If the object can't be loaded <c>null</c> should be returned.
         /// </summary>
         /// <param name="key">The key identifying the object being loaded.</param>
         /// <returns>
         /// The value for the entry that is to be stored in the cache
-        /// or <code>null</code> if the object can't be loaded
+        /// or <c>null</c> if the object can't be loaded
         /// </returns>
         public virtual object Load(object key)
         {

http://git-wip-us.apache.org/repos/asf/ignite/blob/c946c762/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Store/CacheStoreAdapter.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Store/CacheStoreAdapter.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Store/CacheStoreAdapter.cs
index 1930d0c..fe0aeaa 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Store/CacheStoreAdapter.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Store/CacheStoreAdapter.cs
@@ -23,14 +23,14 @@ namespace Apache.Ignite.Core.Cache.Store
 
     /// <summary>
     /// Cache storage convenience adapter. It provides default implementation for 
-    /// bulk operations, such as <code>LoadAll</code>, <code>PutAll</code> and
-    /// <code>RemoveAll</code> by sequentially calling corresponding <code>Load</code>,
-    /// <code>Put</code> and <code>Remove</code> operations. Use this adapter whenever 
+    /// bulk operations, such as <c>LoadAll</c>, <c>PutAll</c> and
+    /// <c>RemoveAll</c> by sequentially calling corresponding <c>Load</c>,
+    /// <c>Put</c> and <c>Remove</c> operations. Use this adapter whenever 
     /// such behaviour is acceptable. However in many cases it maybe more preferable 
     /// to take advantage of database batch update functionality, and therefore default 
     /// adapter implementation may not be the best option.
     /// <para/>
-    /// Note that <code>LoadCache</code> method has empty implementation because it is 
+    /// Note that <c>LoadCache</c> method has empty implementation because it is 
     /// essentially up to the user to invoke it with specific arguments.
     /// </summary>
     public abstract class CacheStoreAdapter : ICacheStore
@@ -115,12 +115,12 @@ namespace Apache.Ignite.Core.Cache.Store
         /// Loads an object. Application developers should implement this method to customize the loading
         /// of a value for a cache entry.
         /// This method is called by a cache when a requested entry is not in the cache.
-        /// If the object can't be loaded <code>null</code> should be returned.
+        /// If the object can't be loaded <c>null</c> should be returned.
         /// </summary>
         /// <param name="key">The key identifying the object being loaded.</param>
         /// <returns>
         /// The value for the entry that is to be stored in the cache
-        /// or <code>null</code> if the object can't be loaded
+        /// or <c>null</c> if the object can't be loaded
         /// </returns>
         public abstract object Load(object key);
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/c946c762/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Store/ICacheStore.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Store/ICacheStore.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Store/ICacheStore.cs
index 4660dab..1364780 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Store/ICacheStore.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Store/ICacheStore.cs
@@ -98,11 +98,11 @@ namespace Apache.Ignite.Core.Cache.Store
         /// Loads an object. Application developers should implement this method to customize the loading 
         /// of a value for a cache entry. 
         /// This method is called by a cache when a requested entry is not in the cache. 
-        /// If the object can't be loaded <code>null</code> should be returned.
+        /// If the object can't be loaded <c>null</c> should be returned.
         /// </summary>
         /// <param name="key">The key identifying the object being loaded.</param>
         /// <returns>The value for the entry that is to be stored in the cache 
-        /// or <code>null</code> if the object can't be loaded</returns>
+        /// or <c>null</c> if the object can't be loaded</returns>
         /// <exception cref="CacheStoreException" />
         object Load(object key);
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/c946c762/modules/platforms/dotnet/Apache.Ignite.Core/Cluster/ICluster.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Cluster/ICluster.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Cluster/ICluster.cs
index 353ec34..e50970b 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Cluster/ICluster.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Cluster/ICluster.cs
@@ -67,7 +67,7 @@ namespace Apache.Ignite.Core.Cluster
         /// <returns>Collection of Ignite nodes which represented by specified topology version, 
         /// if it is present in history storage, null otherwise.</returns>
         /// <exception cref="IgniteException">If underlying SPI implementation does not support 
-        /// topology history. Currently only <code>org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi</code>
+        /// topology history. Currently only <c>org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi</c>
         /// supports topology history.</exception>
         ICollection<IClusterNode> GetTopology(long ver);
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/c946c762/modules/platforms/dotnet/Apache.Ignite.Core/Cluster/IClusterMetrics.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Cluster/IClusterMetrics.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Cluster/IClusterMetrics.cs
index d0a51aa..f0889d9 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Cluster/IClusterMetrics.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Cluster/IClusterMetrics.cs
@@ -196,7 +196,7 @@ namespace Apache.Ignite.Core.Cluster
         /// <summary>
         /// Amount of heap memory in bytes that the JVM
         /// initially requests from the operating system for memory management.
-        /// This method returns <code>-1</code> if the initial memory size is undefined.
+        /// This method returns <c>-1</c> if the initial memory size is undefined.
         /// <para />
         /// This value represents a setting of the heap memory for Java VM and is
         /// not a sum of all initial heap values for all memory pools.
@@ -223,7 +223,7 @@ namespace Apache.Ignite.Core.Cluster
 
         /// <summary>
         /// Mmaximum amount of heap memory in bytes that can be used for memory management.
-        /// This method returns <code>-1</code> if the maximum memory size is undefined.
+        /// This method returns <c>-1</c> if the maximum memory size is undefined.
         /// <para />
         /// This amount of memory is not guaranteed to be available for memory management if 
         /// it is greater than the amount of committed memory. The JVM may fail to allocate
@@ -235,7 +235,7 @@ namespace Apache.Ignite.Core.Cluster
         long HeapMemoryMaximum { get; }
 
         /// <summary>
-        /// Total amount of heap memory in bytes. This method returns <code>-1</code>
+        /// Total amount of heap memory in bytes. This method returns <c>-1</c>
         /// if the total memory size is undefined.
         /// <para />
         /// This amount of memory is not guaranteed to be available for memory management if it is 

http://git-wip-us.apache.org/repos/asf/ignite/blob/c946c762/modules/platforms/dotnet/Apache.Ignite.Core/Cluster/IClusterNode.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Cluster/IClusterNode.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Cluster/IClusterNode.cs
index ccb0e03..5f14116 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Cluster/IClusterNode.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Cluster/IClusterNode.cs
@@ -56,7 +56,7 @@ namespace Apache.Ignite.Core.Cluster
         /// </summary>
         /// <param name="name">Attribute name.</param>
         /// <param name="attr">Attribute value.</param>
-        /// <returns><code>true</code> in case such attribute exists.</returns>
+        /// <returns><c>true</c> in case such attribute exists.</returns>
         bool TryGetAttribute<T>(string name, out T attr);
 
         /// <summary>
@@ -125,8 +125,8 @@ namespace Apache.Ignite.Core.Cluster
         /// an idea about CPU load on remote node via <see cref="IClusterMetrics.CurrentCpuLoad"/>.
         /// <para/>
         /// Node metrics are updated with some delay which is directly related to heartbeat
-        /// frequency. For example, when used with default <code>GridTcpDiscoverySpi</code> the 
-        /// update will happen every <code>2</code> seconds.
+        /// frequency. For example, when used with default <c>GridTcpDiscoverySpi</c> the 
+        /// update will happen every <c>2</c> seconds.
         /// </summary>
         /// <returns>Runtime metrics snapshot for this node.</returns>
         [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate", Justification = "Semantics.")]

http://git-wip-us.apache.org/repos/asf/ignite/blob/c946c762/modules/platforms/dotnet/Apache.Ignite.Core/Compute/IComputeTask.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Compute/IComputeTask.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Compute/IComputeTask.cs
index 8c3136b..87aebda 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Compute/IComputeTask.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Compute/IComputeTask.cs
@@ -42,7 +42,7 @@ namespace Apache.Ignite.Core.Compute
     ///     </item>
     ///     <item>
     ///         <description>Once job execution results become available method 
-    ///         <see cref="IComputeTask{A,T,R}.Result(IComputeJobResult{TJobRes}, IList{IComputeJobResult{TJobRes}})"/>
+    ///         <see cref="IComputeTask{A,T,R}.OnResult(IComputeJobResult{TJobRes}, IList{IComputeJobResult{TJobRes}})"/>
     ///         will be called for ech received job result. The policy returned by this method will
     ///         determine the way task reacts to every job result.
     ///         <para />

http://git-wip-us.apache.org/repos/asf/ignite/blob/c946c762/modules/platforms/dotnet/Apache.Ignite.Core/Datastream/IDataStreamer.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Datastream/IDataStreamer.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Datastream/IDataStreamer.cs
index acbc75b..64c0f9e 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Datastream/IDataStreamer.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Datastream/IDataStreamer.cs
@@ -88,14 +88,14 @@ namespace Apache.Ignite.Core.Datastream
         /// <summary>
         /// Flag value indicating that this data streamer assumes that there could be concurrent updates to the cache. 
         /// <para />
-        /// Default is <code>false</code>.
+        /// Default is <c>false</c>.
         /// </summary>
         bool AllowOverwrite { get; set; }
 
         /// <summary>
         /// Flag indicating that write-through behavior should be disabled for data loading.
         /// <para />
-        /// Default is <code>false</code>.
+        /// Default is <c>false</c>.
         /// </summary>
         bool SkipStore { get; set; }
 
@@ -104,7 +104,7 @@ namespace Apache.Ignite.Core.Datastream
         /// <para />
         /// Setter must be called before any add/remove operation.
         /// <para />
-        /// Default is <code>1024</code>.
+        /// Default is <c>1024</c>.
         /// </summary>
         int PerNodeBufferSize { get; set; }
 
@@ -113,7 +113,7 @@ namespace Apache.Ignite.Core.Datastream
         /// <para />
         /// Setter must be called before any add/remove operation.
         /// <para />
-        /// Default is <code>16</code>.
+        /// Default is <c>16</c>.
         /// </summary>
         int PerNodeParallelOperations { get; set; }
 
@@ -123,9 +123,9 @@ namespace Apache.Ignite.Core.Datastream
         /// Note that there is no guarantee that data will be delivered after this concrete
         /// attempt (e.g., it can fail when topology is changing), but it won't be lost anyway.
         /// <para />
-        /// If set to <code>0</code>, automatic flush is disabled.
+        /// If set to <c>0</c>, automatic flush is disabled.
         /// <para />
-        /// Default is <code>0</code> (disabled).
+        /// Default is <c>0</c> (disabled).
         /// </summary>
         long AutoFlushFrequency { get; set; }
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/c946c762/modules/platforms/dotnet/Apache.Ignite.Core/Events/CacheEvent.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Events/CacheEvent.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Events/CacheEvent.cs
index 02b304e..2c3230d 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Events/CacheEvent.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Events/CacheEvent.cs
@@ -151,8 +151,8 @@ namespace Apache.Ignite.Core.Events
 
         /// <summary>
         /// Gets security subject ID initiated this cache event, if available. This property is available only for <see 
-        /// cref="EventType.EventCacheObjectPut" />, <see cref="EventType.EventCacheObjectRemoved" /> and <see 
-        /// cref="EventType.EventCacheObjectRead" /> cache events. Subject ID will be set either to nodeId initiated 
+        /// cref="EventType.CacheObjectPut" />, <see cref="EventType.CacheObjectRemoved" /> and <see 
+        /// cref="EventType.CacheObjectRead" /> cache events. Subject ID will be set either to nodeId initiated 
         /// cache update or read or client ID initiated cache update or read. 
         /// </summary>
         public Guid? SubjectId { get { return _subjectId; } }

http://git-wip-us.apache.org/repos/asf/ignite/blob/c946c762/modules/platforms/dotnet/Apache.Ignite.Core/Events/TaskEvent.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Events/TaskEvent.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Events/TaskEvent.cs
index c8f9338..aa03969 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Events/TaskEvent.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Events/TaskEvent.cs
@@ -77,7 +77,7 @@ namespace Apache.Ignite.Core.Events
 
         /// <summary>
         /// Gets security subject ID initiated this task event, if available. This property is not available for 
-        /// <see cref="EventType.EventTaskSessionAttrSet" /> task event. 
+        /// <see cref="EventType.TaskSessionAttrSet" /> task event. 
         /// Subject ID will be set either to node ID or client ID initiated task execution. 
         /// </summary>
         public Guid? SubjectId { get { return _subjectId; } }

http://git-wip-us.apache.org/repos/asf/ignite/blob/c946c762/modules/platforms/dotnet/Apache.Ignite.Core/IIgnite.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/IIgnite.cs b/modules/platforms/dotnet/Apache.Ignite.Core/IIgnite.cs
index 08e5f6b..2f82756 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/IIgnite.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/IIgnite.cs
@@ -153,15 +153,15 @@ namespace Apache.Ignite.Core
 
         /// <summary>
         /// Gets an atomic long with specified name from cache.
-        /// Creates new atomic long in cache if it does not exist and <see cref="create"/> is true.
+        /// Creates new atomic long in cache if it does not exist and <c>create</c> is true.
         /// </summary>
         /// <param name="name">Name of the atomic long.</param>
         /// <param name="initialValue">
-        /// Initial value for the atomic long. Ignored if <see cref="create"/> is false.
+        /// Initial value for the atomic long. Ignored if <c>create</c> is false.
         /// </param>
         /// <param name="create">Flag indicating whether atomic long should be created if it does not exist.</param>
         /// <returns>Atomic long instance with specified name, 
-        /// or null if it does not exist and <see cref="create"/> flag is not set.</returns>
+        /// or null if it does not exist and <c>create</c> flag is not set.</returns>
         /// <exception cref="IgniteException">If atomic long could not be fetched or created.</exception>
         IAtomicLong GetAtomicLong(string name, long initialValue, bool create);
     }

http://git-wip-us.apache.org/repos/asf/ignite/blob/c946c762/modules/platforms/dotnet/Apache.Ignite.Core/Ignition.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Ignition.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Ignition.cs
index 6f98322..7a3fafc 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Ignition.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Ignition.cs
@@ -94,7 +94,7 @@ namespace Apache.Ignite.Core
 
         /// <summary>
         /// Starts Ignite with default configuration. By default this method will
-        /// use Ignite configuration defined in <code>IGNITE/config/default-config.xml</code>
+        /// use Ignite configuration defined in <c>{IGNITE_HOME}/config/default-config.xml</c>
         /// configuration file. If such file is not found, then all system defaults will be used.
         /// </summary>
         /// <returns>Started Ignite.</returns>
@@ -448,7 +448,7 @@ namespace Apache.Ignite.Core
         /// node) can belong to a different grid. Ignite name defines what grid a particular Ignite
         /// instance (and correspondingly its node) belongs to.
         /// </summary>
-        /// <param name="name">Ignite name to which requested Ignite instance belongs. If <code>null</code>,
+        /// <param name="name">Ignite name to which requested Ignite instance belongs. If <c>null</c>,
         /// then Ignite instance belonging to a default no-name Ignite will be returned.
         /// </param>
         /// <returns>An instance of named grid.</returns>
@@ -477,15 +477,15 @@ namespace Apache.Ignite.Core
         }
 
         /// <summary>
-        /// Stops named grid. If <code>cancel</code> flag is set to <code>true</code> then
+        /// Stops named grid. If <c>cancel</c> flag is set to <c>true</c> then
         /// all jobs currently executing on local node will be interrupted. If
-        /// grid name is <code>null</code>, then default no-name Ignite will be stopped.
+        /// grid name is <c>null</c>, then default no-name Ignite will be stopped.
         /// </summary>
-        /// <param name="name">Grid name. If <code>null</code>, then default no-name Ignite will be stopped.</param>
-        /// <param name="cancel">If <code>true</code> then all jobs currently executing will be cancelled
-        /// by calling <code>ComputeJob.cancel</code>method.</param>
-        /// <returns><code>true</code> if named Ignite instance was indeed found and stopped, <code>false</code>
-        /// othwerwise (the instance with given <code>name</code> was not found).</returns>
+        /// <param name="name">Grid name. If <c>null</c>, then default no-name Ignite will be stopped.</param>
+        /// <param name="cancel">If <c>true</c> then all jobs currently executing will be cancelled
+        /// by calling <c>ComputeJob.cancel</c>method.</param>
+        /// <returns><c>true</c> if named Ignite instance was indeed found and stopped, <c>false</c>
+        /// othwerwise (the instance with given <c>name</c> was not found).</returns>
         public static bool Stop(string name, bool cancel)
         {
             lock (SyncRoot)
@@ -508,11 +508,11 @@ namespace Apache.Ignite.Core
         }
 
         /// <summary>
-        /// Stops <b>all</b> started grids. If <code>cancel</code> flag is set to <code>true</code> then
+        /// Stops <b>all</b> started grids. If <c>cancel</c> flag is set to <c>true</c> then
         /// all jobs currently executing on local node will be interrupted.
         /// </summary>
-        /// <param name="cancel">If <code>true</code> then all jobs currently executing will be cancelled
-        /// by calling <code>ComputeJob.cancel</code>method.</param>
+        /// <param name="cancel">If <c>true</c> then all jobs currently executing will be cancelled
+        /// by calling <c>ComputeJob.Cancel()</c> method.</param>
         public static void StopAll(bool cancel)
         {
             lock (SyncRoot)

http://git-wip-us.apache.org/repos/asf/ignite/blob/c946c762/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/BinaryObjectHeader.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/BinaryObjectHeader.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/BinaryObjectHeader.cs
index 573e014..0cabd7d 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/BinaryObjectHeader.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/BinaryObjectHeader.cs
@@ -433,7 +433,7 @@ namespace Apache.Ignite.Core.Impl.Binary
             return hdr;
         }
 
-        /** <inheritdoc> */
+        /** <inheritdoc /> */
         public bool Equals(BinaryObjectHeader other)
         {
             return Header == other.Header &&
@@ -446,7 +446,7 @@ namespace Apache.Ignite.Core.Impl.Binary
                    SchemaOffset == other.SchemaOffset;
         }
 
-        /** <inheritdoc> */
+        /** <inheritdoc /> */
         public override bool Equals(object obj)
         {
             if (ReferenceEquals(null, obj)) return false;
@@ -454,7 +454,7 @@ namespace Apache.Ignite.Core.Impl.Binary
             return obj is BinaryObjectHeader && Equals((BinaryObjectHeader) obj);
         }
 
-        /** <inheritdoc> */
+        /** <inheritdoc /> */
         public override int GetHashCode()
         {
             unchecked
@@ -471,13 +471,13 @@ namespace Apache.Ignite.Core.Impl.Binary
             }
         }
 
-        /** <inheritdoc> */
+        /** <inheritdoc /> */
         public static bool operator ==(BinaryObjectHeader left, BinaryObjectHeader right)
         {
             return left.Equals(right);
         }
 
-        /** <inheritdoc> */
+        /** <inheritdoc /> */
         public static bool operator !=(BinaryObjectHeader left, BinaryObjectHeader right)
         {
             return !left.Equals(right);

http://git-wip-us.apache.org/repos/asf/ignite/blob/c946c762/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/BinarySystemHandlers.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/BinarySystemHandlers.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/BinarySystemHandlers.cs
index 0af1e82..506b56d 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/BinarySystemHandlers.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/BinarySystemHandlers.cs
@@ -703,14 +703,7 @@ namespace Apache.Ignite.Core.Impl.Binary
         {
             return BinaryUtils.ReadMapEntry(ctx);
         }
-
-        /**
-         * <summary>Add element to array list.</summary>
-         * <param name="col">Array list.</param>
-         * <param name="elem">Element.</param>
-         */
-
-
+        
         /**
          * <summary>Read delegate.</summary>
          * <param name="ctx">Read context.</param>

http://git-wip-us.apache.org/repos/asf/ignite/blob/c946c762/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/BinaryUtils.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/BinaryUtils.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/BinaryUtils.cs
index 1917f01..4c54dea 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/BinaryUtils.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/BinaryUtils.cs
@@ -611,7 +611,6 @@ namespace Apache.Ignite.Core.Impl.Binary
         /**
          * <summary>Read date.</summary>
          * <param name="stream">Stream.</param>
-         * <param name="local">Local flag.</param>
          * <returns>Date</returns>
          */
         public static DateTime? ReadTimestamp(IBinaryStream stream)

http://git-wip-us.apache.org/repos/asf/ignite/blob/c946c762/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/Metadata/BinaryTypeHolder.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/Metadata/BinaryTypeHolder.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/Metadata/BinaryTypeHolder.cs
index 53ad77e..1f290d8 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/Metadata/BinaryTypeHolder.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/Metadata/BinaryTypeHolder.cs
@@ -53,6 +53,7 @@ namespace Apache.Ignite.Core.Impl.Binary.Metadata
         /// <param name="typeId">Type ID.</param>
         /// <param name="typeName">Type name.</param>
         /// <param name="affKeyFieldName">Affinity key field name.</param>
+        /// <param name="isEnum">Enum flag.</param>
         public BinaryTypeHolder(int typeId, string typeName, string affKeyFieldName, bool isEnum)
         {
             _typeId = typeId;

http://git-wip-us.apache.org/repos/asf/ignite/blob/c946c762/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/CacheImpl.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/CacheImpl.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/CacheImpl.cs
index 262ff12..dbb58c8 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/CacheImpl.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/CacheImpl.cs
@@ -152,8 +152,6 @@ namespace Apache.Ignite.Core.Impl.Cache
         }
 
         /** <inheritDoc /> */
-
-        /** <inheritDoc /> */
         public bool IsEmpty()
         {
             return GetSize() == 0;

http://git-wip-us.apache.org/repos/asf/ignite/blob/c946c762/modules/platforms/dotnet/Apache.Ignite.Core/Transactions/ITransaction.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Transactions/ITransaction.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Transactions/ITransaction.cs
index 22a1ee1..2c062e7 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Transactions/ITransaction.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Transactions/ITransaction.cs
@@ -232,7 +232,7 @@ namespace Apache.Ignite.Core.Transactions
         /// Removes metadata by name.
         /// </summary>
         /// <param name="name">Metadata name.</param>
-        /// <returns>Value of removed metadata or default value for <code>V</code> type.</returns>
+        /// <returns>Value of removed metadata or default value for <c>V</c> type.</returns>
         TV RemoveMeta<TV>(string name);
     }
 }