Merge remote-tracking branch 'remotes/origin/ignite-3477' into ignite-db-x-opt

# Conflicts:
#	modules/core/src/main/java/org/apache/ignite/internal/GridKernalContext.java
#	modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java
#	modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheConcurrentMapImpl.java
#	modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java
#	modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/MetadataStorage.java
#	modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/freelist/FreeListImpl.java
#	modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/BPlusTree.java
#	modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/io/DataPageIO.java
#	modules/core/src/test/java/org/apache/ignite/internal/processors/database/BPlusTreeSelfTest.java
#	modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/H2Tree.java
#	modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/H2TreeIndex.java
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/MarshallerContextAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/MarshallerContextAdapter.java
index ad34393..0f8de3a 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/MarshallerContextAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/MarshallerContextAdapter.java
@@ -154,7 +154,7 @@
         String clsName = map.get(id);
 
         if (clsName == null) {
-            registered = registerClassName(id, cls.getName());
+            registered = true;//registerClassName(id, cls.getName());
 
             if (registered)
                 map.putIfAbsent(id, cls.getName());
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java
index 7bde2f3..19d09fe 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java
@@ -903,11 +903,11 @@
                 throw new NodeStoppingException("Operation has been cancelled (node is stopping).");
 
             try {
-                CacheStatistics.opStart(PutStatistic.Ops.STORE_ADD);
+                //CacheStatistics.opStart(PutStatistic.Ops.STORE_ADD);
 
                 rowStore.addRow(dataRow);
 
-                CacheStatistics.opEnd(PutStatistic.Ops.STORE_ADD);
+                //CacheStatistics.opEnd(PutStatistic.Ops.STORE_ADD);
 
                 assert dataRow.link() != 0 : dataRow;
 
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/OperationStatistic.java b/modules/core/src/main/java/org/apache/ignite/internal/util/OperationStatistic.java
index b3635ac..a1f323e 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/OperationStatistic.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/OperationStatistic.java
@@ -71,7 +71,7 @@
     }
 
     public final void startOp(int op) {
-//        assert time[op] == -1L : time[op];
+        assert time[op] == -1L : time[op];
 
         time[op] = System.nanoTime();
     }
@@ -79,7 +79,7 @@
     public final void endOp(int op) {
         long start = time[op];
 
-        //assert start > 0 : start;
+        assert start > 0 : start;
 
         time[op] = System.nanoTime() - start;
     }