IGNITE-6277 Added ability to convert WAL to human readable form - Fixes #2605.

Signed-off-by: Alexey Goncharuk <alexey.goncha...@gmail.com>


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

Branch: refs/heads/ignite-6149
Commit: 319aa840201f907c0a31fceb17837dfd2ba43fc1
Parents: 91cf66e
Author: EdShangGG <eshangar...@gridgain.com>
Authored: Fri Sep 15 11:59:48 2017 +0300
Committer: Alexey Goncharuk <alexey.goncha...@gmail.com>
Committed: Fri Sep 15 11:59:48 2017 +0300

----------------------------------------------------------------------
 .../ignite/internal/pagemem/PageIdUtils.java    | 13 +++
 .../pagemem/wal/record/CheckpointRecord.java    |  6 ++
 .../internal/pagemem/wal/record/DataEntry.java  |  1 +
 .../internal/pagemem/wal/record/DataRecord.java |  2 +-
 .../wal/record/MemoryRecoveryRecord.java        |  7 ++
 .../pagemem/wal/record/PageSnapshot.java        | 23 +++++-
 .../internal/pagemem/wal/record/TxRecord.java   |  6 ++
 .../delta/DataPageInsertFragmentRecord.java     | 13 ++-
 .../wal/record/delta/DataPageInsertRecord.java  |  6 ++
 .../wal/record/delta/DataPageRemoveRecord.java  |  2 +-
 .../delta/DataPageSetFreeListPageRecord.java    |  6 ++
 .../wal/record/delta/DataPageUpdateRecord.java  |  6 ++
 .../wal/record/delta/FixCountRecord.java        |  9 +++
 .../record/delta/FixLeftmostChildRecord.java    |  9 +++
 .../pagemem/wal/record/delta/FixRemoveId.java   |  6 ++
 .../wal/record/delta/InitNewPageRecord.java     |  2 -
 .../wal/record/delta/InnerReplaceRecord.java    |  6 ++
 .../pagemem/wal/record/delta/InsertRecord.java  |  2 +-
 .../pagemem/wal/record/delta/MergeRecord.java   |  2 +-
 .../wal/record/delta/MetaPageAddRootRecord.java |  9 +++
 .../wal/record/delta/MetaPageCutRootRecord.java |  6 ++
 .../wal/record/delta/MetaPageInitRecord.java    |  6 ++
 .../delta/MetaPageInitRootInlineRecord.java     |  7 +-
 .../record/delta/MetaPageInitRootRecord.java    |  6 ++
 .../delta/MetaPageUpdateLastAllocatedIndex.java |  6 ++
 ...aPageUpdateLastSuccessfulFullSnapshotId.java |  6 ++
 .../MetaPageUpdateLastSuccessfulSnapshotId.java |  6 ++
 .../delta/MetaPageUpdateNextSnapshotId.java     |  6 ++
 .../MetaPageUpdatePartitionDataRecord.java      |  2 +-
 .../wal/record/delta/NewRootInitRecord.java     |  6 ++
 .../delta/PageListMetaResetCountRecord.java     |  6 ++
 .../delta/PagesListInitNewPageRecord.java       |  4 +-
 .../record/delta/PagesListRemovePageRecord.java |  3 +-
 .../record/delta/PagesListSetNextRecord.java    |  6 ++
 .../delta/PagesListSetPreviousRecord.java       |  6 ++
 .../record/delta/PartitionDestroyRecord.java    |  6 ++
 .../record/delta/PartitionMetaStateRecord.java  |  6 ++
 .../pagemem/wal/record/delta/RecycleRecord.java | 15 ++++
 .../pagemem/wal/record/delta/RemoveRecord.java  |  2 +-
 .../pagemem/wal/record/delta/ReplaceRecord.java |  6 ++
 .../record/delta/SplitExistingPageRecord.java   |  2 +-
 .../record/delta/SplitForwardPageRecord.java    | 24 ++++++
 .../record/delta/TrackingPageDeltaRecord.java   | 14 +++-
 .../distributed/dht/GridDhtTxPrepareFuture.java |  3 +-
 .../cache/persistence/file/FileIODecorator.java |  1 -
 .../freelist/io/PagesListMetaIO.java            | 21 +++++
 .../freelist/io/PagesListNodeIO.java            | 16 ++++
 .../cache/persistence/tree/io/BPlusIO.java      | 12 +++
 .../cache/persistence/tree/io/BPlusMetaIO.java  | 12 +++
 .../cache/persistence/tree/io/DataPageIO.java   | 25 +++++-
 .../cache/persistence/tree/io/PageIO.java       | 27 +++++++
 .../cache/persistence/tree/io/PageMetaIO.java   | 14 ++++
 .../tree/io/PagePartitionCountersIO.java        | 27 +++++++
 .../tree/io/PagePartitionMetaIO.java            | 19 +++++
 .../persistence/tree/io/TrackingPageIO.java     | 31 ++++++++
 .../wal/FileWriteAheadLogManager.java           |  6 ++
 .../reader/StandaloneWalRecordsIterator.java    |  2 +-
 .../persistence/wal/record/HeaderRecord.java    |  6 ++
 .../wal/serializer/RecordV1Serializer.java      | 21 ++++-
 .../database/IgniteDbAbstractTest.java          |  6 --
 modules/dev-utils/pom.xml                       | 50 ++++++++++++
 .../development/utils/IgniteWalConverter.java   | 83 ++++++++++++++++++++
 pom.xml                                         |  1 +
 63 files changed, 643 insertions(+), 33 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/pagemem/PageIdUtils.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/PageIdUtils.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/PageIdUtils.java
index 6f4ba93..d47f2de 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/PageIdUtils.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/PageIdUtils.java
@@ -200,4 +200,17 @@ public final class PageIdUtils {
     public static long changeType(long pageId, byte type) {
         return pageId(partId(pageId), type, pageIndex(pageId));
     }
+
+    /**
+     * @param pageId Page id.
+     */
+    public static String toDetailString(long pageId) {
+        return "pageId=" + pageId +
+            "(offset=" + itemId(pageId) +
+            ", flags=" + Integer.toBinaryString(flag(pageId)) +
+            ", partId=" + partId(pageId) +
+            ", index=" + pageIndex(pageId) +
+            ")"
+            ;
+    }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/CheckpointRecord.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/CheckpointRecord.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/CheckpointRecord.java
index 807bb83..3ef4f74 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/CheckpointRecord.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/CheckpointRecord.java
@@ -23,6 +23,7 @@ import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.UUID;
+import org.apache.ignite.internal.util.typedef.internal.S;
 import org.jetbrains.annotations.Nullable;
 
 /**
@@ -119,4 +120,9 @@ public class CheckpointRecord extends WALRecord {
     public WALPointer checkpointMark() {
         return cpMark;
     }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return S.toString(CheckpointRecord.class, this, "super", 
super.toString());
+    }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/DataEntry.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/DataEntry.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/DataEntry.java
index 066f2d7..9ebf306 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/DataEntry.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/DataEntry.java
@@ -31,6 +31,7 @@ import org.apache.ignite.internal.util.typedef.internal.S;
  */
 public class DataEntry {
     /** */
+    @GridToStringInclude
     protected int cacheId;
 
     /** */

http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/DataRecord.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/DataRecord.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/DataRecord.java
index d2747f1..c6322c3 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/DataRecord.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/DataRecord.java
@@ -65,6 +65,6 @@ public class DataRecord extends WALRecord {
 
     /** {@inheritDoc} */
     @Override public String toString() {
-        return S.toString(DataRecord.class, this, super.toString());
+        return S.toString(DataRecord.class, this, "super", super.toString());
     }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/MemoryRecoveryRecord.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/MemoryRecoveryRecord.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/MemoryRecoveryRecord.java
index 99248d7..8843eee 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/MemoryRecoveryRecord.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/MemoryRecoveryRecord.java
@@ -17,6 +17,8 @@
 
 package org.apache.ignite.internal.pagemem.wal.record;
 
+import org.apache.ignite.internal.util.typedef.internal.S;
+
 /**
  * Marker that we start memory recovering
  */
@@ -43,4 +45,9 @@ public class MemoryRecoveryRecord extends WALRecord {
     public long time() {
         return time;
     }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return S.toString(MemoryRecoveryRecord.class, this, "super", 
super.toString());
+    }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/PageSnapshot.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/PageSnapshot.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/PageSnapshot.java
index 5fea842..6ee96a4 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/PageSnapshot.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/PageSnapshot.java
@@ -17,10 +17,14 @@
 
 package org.apache.ignite.internal.pagemem.wal.record;
 
+import java.nio.ByteBuffer;
+import java.nio.ByteOrder;
+import java.util.Arrays;
+import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.internal.pagemem.FullPageId;
+import org.apache.ignite.internal.processors.cache.persistence.tree.io.PageIO;
 import org.apache.ignite.internal.util.GridUnsafe;
 import org.apache.ignite.internal.util.tostring.GridToStringExclude;
-import org.apache.ignite.internal.util.typedef.internal.S;
 
 /**
  *
@@ -76,6 +80,21 @@ public class PageSnapshot extends WALRecord {
 
     /** {@inheritDoc} */
     @Override public String toString() {
-        return S.toString(PageSnapshot.class, this, super.toString());
+        ByteBuffer buf = ByteBuffer.allocateDirect(pageData.length);
+        buf.order(ByteOrder.nativeOrder());
+        buf.put(pageData);
+
+        long addr = GridUnsafe.bufferAddress(buf);
+
+        try {
+            return "PageSnapshot [fullPageId = " + fullPageId() + ", page = 
[\n"
+                + PageIO.printPage(addr, pageData.length)
+                + "],\nsuper = ["
+                + super.toString() + "]]";
+        }
+        catch (IgniteCheckedException e) {
+            return "Error during call'toString' of PageSnapshot [fullPageId=" 
+ fullPageId() +
+                ", pageData = " + Arrays.toString(pageData) + ", super=" + 
super.toString() + "]";
+        }
     }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/TxRecord.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/TxRecord.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/TxRecord.java
index 6aa899c..2fbcf4f 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/TxRecord.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/TxRecord.java
@@ -19,6 +19,7 @@ package org.apache.ignite.internal.pagemem.wal.record;
 
 import java.util.UUID;
 import org.apache.ignite.internal.processors.cache.version.GridCacheVersion;
+import org.apache.ignite.internal.util.typedef.internal.S;
 
 /**
  *
@@ -126,4 +127,9 @@ public class TxRecord extends WALRecord {
     public UUID[] participatingNodeId() {
         return participatingNodeIds;
     }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return S.toString(TxRecord.class, this, "super", super.toString());
+    }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/DataPageInsertFragmentRecord.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/DataPageInsertFragmentRecord.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/DataPageInsertFragmentRecord.java
index 3b2ced1..e07c388 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/DataPageInsertFragmentRecord.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/DataPageInsertFragmentRecord.java
@@ -20,15 +20,18 @@ package org.apache.ignite.internal.pagemem.wal.record.delta;
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.internal.pagemem.PageMemory;
 import 
org.apache.ignite.internal.processors.cache.persistence.tree.io.DataPageIO;
+import org.apache.ignite.internal.util.tostring.GridToStringExclude;
+import org.apache.ignite.internal.util.typedef.internal.S;
 
 /**
- * Insert fragment to data page record.
+ * Insert fragment (part of big object which is bigger than page size) to data 
page record.
  */
 public class DataPageInsertFragmentRecord extends PageDeltaRecord {
     /** Link to the last entry fragment. */
     private final long lastLink;
 
     /** Actual fragment data. */
+    @GridToStringExclude
     private final byte[] payload;
 
     /**
@@ -81,4 +84,12 @@ public class DataPageInsertFragmentRecord extends 
PageDeltaRecord {
     public long lastLink() {
         return lastLink;
     }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return S.toString(DataPageInsertFragmentRecord.class, this,
+            "payloadSize", payload.length,
+            "super", super.toString()
+        );
+    }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/DataPageInsertRecord.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/DataPageInsertRecord.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/DataPageInsertRecord.java
index e480cc8..f315058 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/DataPageInsertRecord.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/DataPageInsertRecord.java
@@ -20,6 +20,7 @@ package org.apache.ignite.internal.pagemem.wal.record.delta;
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.internal.pagemem.PageMemory;
 import 
org.apache.ignite.internal.processors.cache.persistence.tree.io.DataPageIO;
+import org.apache.ignite.internal.util.typedef.internal.S;
 
 /**
  * Insert into data page.
@@ -63,4 +64,9 @@ public class DataPageInsertRecord extends PageDeltaRecord {
     @Override public RecordType type() {
         return RecordType.DATA_PAGE_INSERT_RECORD;
     }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return S.toString(DataPageInsertRecord.class, this, "super", 
super.toString());
+    }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/DataPageRemoveRecord.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/DataPageRemoveRecord.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/DataPageRemoveRecord.java
index b80600c..484ec87 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/DataPageRemoveRecord.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/DataPageRemoveRecord.java
@@ -62,6 +62,6 @@ public class DataPageRemoveRecord extends PageDeltaRecord {
 
     /** {@inheritDoc} */
     @Override public String toString() {
-        return S.toString(DataPageRemoveRecord.class, this, super.toString());
+        return S.toString(DataPageRemoveRecord.class, this, "super", 
super.toString());
     }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/DataPageSetFreeListPageRecord.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/DataPageSetFreeListPageRecord.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/DataPageSetFreeListPageRecord.java
index a7fd31f..0ade484 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/DataPageSetFreeListPageRecord.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/DataPageSetFreeListPageRecord.java
@@ -20,6 +20,7 @@ package org.apache.ignite.internal.pagemem.wal.record.delta;
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.internal.pagemem.PageMemory;
 import 
org.apache.ignite.internal.processors.cache.persistence.tree.io.DataPageIO;
+import org.apache.ignite.internal.util.typedef.internal.S;
 
 import static 
org.apache.ignite.internal.pagemem.wal.record.WALRecord.RecordType.DATA_PAGE_SET_FREE_LIST_PAGE;
 
@@ -59,4 +60,9 @@ public class DataPageSetFreeListPageRecord extends 
PageDeltaRecord {
     @Override public RecordType type() {
         return DATA_PAGE_SET_FREE_LIST_PAGE;
     }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return S.toString(DataPageSetFreeListPageRecord.class, this, "super", 
super.toString());
+    }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/DataPageUpdateRecord.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/DataPageUpdateRecord.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/DataPageUpdateRecord.java
index 6207f41..8ea2981 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/DataPageUpdateRecord.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/DataPageUpdateRecord.java
@@ -20,6 +20,7 @@ package org.apache.ignite.internal.pagemem.wal.record.delta;
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.internal.pagemem.PageMemory;
 import 
org.apache.ignite.internal.processors.cache.persistence.tree.io.DataPageIO;
+import org.apache.ignite.internal.util.typedef.internal.S;
 
 /**
  * Update existing record in data page.
@@ -76,4 +77,9 @@ public class DataPageUpdateRecord extends PageDeltaRecord {
     @Override public RecordType type() {
         return RecordType.DATA_PAGE_UPDATE_RECORD;
     }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return S.toString(DataPageUpdateRecord.class, this, "super", 
super.toString());
+    }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/FixCountRecord.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/FixCountRecord.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/FixCountRecord.java
index 80e06ad..2e2733a 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/FixCountRecord.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/FixCountRecord.java
@@ -21,6 +21,7 @@ import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.internal.pagemem.PageMemory;
 import org.apache.ignite.internal.processors.cache.persistence.tree.io.BPlusIO;
 import org.apache.ignite.internal.processors.cache.persistence.tree.io.PageIO;
+import org.apache.ignite.internal.util.typedef.internal.S;
 
 /**
  * Fix elements count record.
@@ -51,7 +52,15 @@ public class FixCountRecord extends PageDeltaRecord {
         return RecordType.BTREE_FIX_COUNT;
     }
 
+    /**
+     *
+     */
     public int count() {
         return cnt;
     }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return S.toString(FixCountRecord.class, this, "super", 
super.toString());
+    }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/FixLeftmostChildRecord.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/FixLeftmostChildRecord.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/FixLeftmostChildRecord.java
index a34e8e3..64aa5ac 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/FixLeftmostChildRecord.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/FixLeftmostChildRecord.java
@@ -21,6 +21,7 @@ import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.internal.pagemem.PageMemory;
 import 
org.apache.ignite.internal.processors.cache.persistence.tree.io.BPlusInnerIO;
 import org.apache.ignite.internal.processors.cache.persistence.tree.io.PageIO;
+import org.apache.ignite.internal.util.typedef.internal.S;
 
 /**
  * Fix leftmost child.
@@ -52,7 +53,15 @@ public class FixLeftmostChildRecord extends PageDeltaRecord {
         return RecordType.BTREE_FIX_LEFTMOST_CHILD;
     }
 
+    /**
+     *
+     */
     public long rightId() {
         return rightId;
     }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return S.toString(FixLeftmostChildRecord.class, this, "super", 
super.toString());
+    }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/FixRemoveId.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/FixRemoveId.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/FixRemoveId.java
index 1ec845d..5cf3641 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/FixRemoveId.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/FixRemoveId.java
@@ -21,6 +21,7 @@ import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.internal.pagemem.PageMemory;
 import org.apache.ignite.internal.processors.cache.persistence.tree.io.BPlusIO;
 import org.apache.ignite.internal.processors.cache.persistence.tree.io.PageIO;
+import org.apache.ignite.internal.util.typedef.internal.S;
 
 /**
  * Fix remove ID record.
@@ -59,4 +60,9 @@ public class FixRemoveId extends PageDeltaRecord {
     public long removeId() {
         return rmvId;
     }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return S.toString(FixRemoveId.class, this, "super", super.toString());
+    }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/InitNewPageRecord.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/InitNewPageRecord.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/InitNewPageRecord.java
index 15bd2da..c177a04 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/InitNewPageRecord.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/InitNewPageRecord.java
@@ -89,8 +89,6 @@ public class InitNewPageRecord extends PageDeltaRecord {
     /** {@inheritDoc} */
     @Override public String toString() {
         return S.toString(InitNewPageRecord.class, this,
-            "ioType", ioType,
-            "ioVer", ioVer,
             "newPageId", U.hexLong(newPageId),
             "super", super.toString());
     }

http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/InnerReplaceRecord.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/InnerReplaceRecord.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/InnerReplaceRecord.java
index 6e6879d..f216a48 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/InnerReplaceRecord.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/InnerReplaceRecord.java
@@ -20,6 +20,7 @@ package org.apache.ignite.internal.pagemem.wal.record.delta;
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.IgniteException;
 import org.apache.ignite.internal.pagemem.PageMemory;
+import org.apache.ignite.internal.util.typedef.internal.S;
 
 /**
  * Inner replace on remove.
@@ -93,4 +94,9 @@ public class InnerReplaceRecord<L> extends PageDeltaRecord {
     public long removeId() {
         return rmvId;
     }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return S.toString(InnerReplaceRecord.class, this, "super", 
super.toString());
+    }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/InsertRecord.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/InsertRecord.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/InsertRecord.java
index f6ebe87..b19d8b0 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/InsertRecord.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/InsertRecord.java
@@ -105,6 +105,6 @@ public class InsertRecord<L> extends PageDeltaRecord {
 
     /** {@inheritDoc} */
     @Override public String toString() {
-        return S.toString(InsertRecord.class, this, "rightId", 
U.hexLong(rightId), "parent", super.toString());
+        return S.toString(InsertRecord.class, this, "rightId", 
U.hexLong(rightId), "super", super.toString());
     }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MergeRecord.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MergeRecord.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MergeRecord.java
index 2d481d1..c30b918 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MergeRecord.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MergeRecord.java
@@ -92,6 +92,6 @@ public class MergeRecord<L> extends PageDeltaRecord {
     /** {@inheritDoc} */
     @Override public String toString() {
         return S.toString(MergeRecord.class, this, "prntId", 
U.hexLong(prntId), "rightId", U.hexLong(rightId),
-            "parent", super.toString());
+            "super", super.toString());
     }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageAddRootRecord.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageAddRootRecord.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageAddRootRecord.java
index ce9e06b..4972155 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageAddRootRecord.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageAddRootRecord.java
@@ -20,6 +20,7 @@ package org.apache.ignite.internal.pagemem.wal.record.delta;
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.internal.pagemem.PageMemory;
 import 
org.apache.ignite.internal.processors.cache.persistence.tree.io.BPlusMetaIO;
+import org.apache.ignite.internal.util.typedef.internal.S;
 
 /**
  * New root in meta page.
@@ -51,7 +52,15 @@ public class MetaPageAddRootRecord extends PageDeltaRecord {
         return RecordType.BTREE_META_PAGE_ADD_ROOT;
     }
 
+    /**
+     *
+     */
     public long rootId() {
         return rootId;
     }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return S.toString(MetaPageAddRootRecord.class, this, "super", 
super.toString());
+    }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageCutRootRecord.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageCutRootRecord.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageCutRootRecord.java
index 1e93ab9..5b896f6 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageCutRootRecord.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageCutRootRecord.java
@@ -20,6 +20,7 @@ package org.apache.ignite.internal.pagemem.wal.record.delta;
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.internal.pagemem.PageMemory;
 import 
org.apache.ignite.internal.processors.cache.persistence.tree.io.BPlusMetaIO;
+import org.apache.ignite.internal.util.typedef.internal.S;
 
 /**
  *
@@ -44,4 +45,9 @@ public class MetaPageCutRootRecord extends PageDeltaRecord {
     @Override public RecordType type() {
         return RecordType.BTREE_META_PAGE_CUT_ROOT;
     }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return S.toString(MetaPageCutRootRecord.class, this, "super", 
super.toString());
+    }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageInitRecord.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageInitRecord.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageInitRecord.java
index b1e701a..ca995bf 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageInitRecord.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageInitRecord.java
@@ -21,6 +21,7 @@ import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.internal.pagemem.PageMemory;
 import org.apache.ignite.internal.processors.cache.persistence.tree.io.PageIO;
 import 
org.apache.ignite.internal.processors.cache.persistence.tree.io.PageMetaIO;
+import org.apache.ignite.internal.util.typedef.internal.S;
 
 /**
  *
@@ -85,4 +86,9 @@ public class MetaPageInitRecord extends InitNewPageRecord {
     @Override public RecordType type() {
         return RecordType.META_PAGE_INIT;
     }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return S.toString(MetaPageInitRecord.class, this, "super", 
super.toString());
+    }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageInitRootInlineRecord.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageInitRootInlineRecord.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageInitRootInlineRecord.java
index 2b82444..0d3c155 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageInitRootInlineRecord.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageInitRootInlineRecord.java
@@ -20,12 +20,12 @@ package org.apache.ignite.internal.pagemem.wal.record.delta;
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.internal.pagemem.PageMemory;
 import 
org.apache.ignite.internal.processors.cache.persistence.tree.io.BPlusMetaIO;
+import org.apache.ignite.internal.util.typedef.internal.S;
 
 /**
  *
  */
 public class MetaPageInitRootInlineRecord extends MetaPageInitRootRecord {
-
     /** */
     private final int inlineSize;
 
@@ -59,4 +59,9 @@ public class MetaPageInitRootInlineRecord extends 
MetaPageInitRootRecord {
     @Override public RecordType type() {
         return RecordType.BTREE_META_PAGE_INIT_ROOT2;
     }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return S.toString(MetaPageInitRootInlineRecord.class, this, "super", 
super.toString());
+    }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageInitRootRecord.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageInitRootRecord.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageInitRootRecord.java
index ebdf3d4..78a7e4f 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageInitRootRecord.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageInitRootRecord.java
@@ -20,6 +20,7 @@ package org.apache.ignite.internal.pagemem.wal.record.delta;
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.internal.pagemem.PageMemory;
 import 
org.apache.ignite.internal.processors.cache.persistence.tree.io.BPlusMetaIO;
+import org.apache.ignite.internal.util.typedef.internal.S;
 
 /**
  * Initialize new meta page.
@@ -58,4 +59,9 @@ public class MetaPageInitRootRecord extends PageDeltaRecord {
     public long rootId() {
         return rootId;
     }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return S.toString(MetaPageInitRootRecord.class, this, "super", 
super.toString());
+    }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageUpdateLastAllocatedIndex.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageUpdateLastAllocatedIndex.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageUpdateLastAllocatedIndex.java
index 11b2a67..39f6a03 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageUpdateLastAllocatedIndex.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageUpdateLastAllocatedIndex.java
@@ -21,6 +21,7 @@ import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.internal.pagemem.PageMemory;
 import org.apache.ignite.internal.processors.cache.persistence.tree.io.PageIO;
 import 
org.apache.ignite.internal.processors.cache.persistence.tree.io.PageMetaIO;
+import org.apache.ignite.internal.util.typedef.internal.S;
 
 /**
  *
@@ -58,5 +59,10 @@ public class MetaPageUpdateLastAllocatedIndex extends 
PageDeltaRecord {
     public int lastAllocatedIndex() {
         return lastAllocatedIdx;
     }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return S.toString(MetaPageUpdateLastAllocatedIndex.class, this, 
"super", super.toString());
+    }
 }
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageUpdateLastSuccessfulFullSnapshotId.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageUpdateLastSuccessfulFullSnapshotId.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageUpdateLastSuccessfulFullSnapshotId.java
index 03f945f..f8884a0 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageUpdateLastSuccessfulFullSnapshotId.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageUpdateLastSuccessfulFullSnapshotId.java
@@ -20,6 +20,7 @@ package org.apache.ignite.internal.pagemem.wal.record.delta;
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.internal.pagemem.PageMemory;
 import 
org.apache.ignite.internal.processors.cache.persistence.tree.io.PageMetaIO;
+import org.apache.ignite.internal.util.typedef.internal.S;
 
 /**
  *
@@ -55,5 +56,10 @@ public class MetaPageUpdateLastSuccessfulFullSnapshotId 
extends PageDeltaRecord
     public long lastSuccessfulFullSnapshotId() {
         return lastSuccessfulFullSnapshotId;
     }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return S.toString(MetaPageUpdateLastSuccessfulFullSnapshotId.class, 
this, "super", super.toString());
+    }
 }
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageUpdateLastSuccessfulSnapshotId.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageUpdateLastSuccessfulSnapshotId.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageUpdateLastSuccessfulSnapshotId.java
index 07798bb..0d7648f 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageUpdateLastSuccessfulSnapshotId.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageUpdateLastSuccessfulSnapshotId.java
@@ -20,6 +20,7 @@ package org.apache.ignite.internal.pagemem.wal.record.delta;
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.internal.pagemem.PageMemory;
 import 
org.apache.ignite.internal.processors.cache.persistence.tree.io.PageMetaIO;
+import org.apache.ignite.internal.util.typedef.internal.S;
 
 /**
  *
@@ -66,5 +67,10 @@ public class MetaPageUpdateLastSuccessfulSnapshotId extends 
PageDeltaRecord {
     public long lastSuccessfulSnapshotTag() {
         return lastSuccessfulSnapshotTag;
     }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return S.toString(MetaPageUpdateLastSuccessfulSnapshotId.class, this, 
"super", super.toString());
+    }
 }
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageUpdateNextSnapshotId.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageUpdateNextSnapshotId.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageUpdateNextSnapshotId.java
index e2d1267..2046ecd 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageUpdateNextSnapshotId.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageUpdateNextSnapshotId.java
@@ -20,6 +20,7 @@ package org.apache.ignite.internal.pagemem.wal.record.delta;
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.internal.pagemem.PageMemory;
 import 
org.apache.ignite.internal.processors.cache.persistence.tree.io.PageMetaIO;
+import org.apache.ignite.internal.util.typedef.internal.S;
 
 /**
  *
@@ -55,5 +56,10 @@ public class MetaPageUpdateNextSnapshotId extends 
PageDeltaRecord {
     public long nextSnapshotId() {
         return nextSnapshotId;
     }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return S.toString(MetaPageUpdateNextSnapshotId.class, this, "super", 
super.toString());
+    }
 }
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageUpdatePartitionDataRecord.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageUpdatePartitionDataRecord.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageUpdatePartitionDataRecord.java
index a6ed7c5..bafbf47 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageUpdatePartitionDataRecord.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageUpdatePartitionDataRecord.java
@@ -129,6 +129,6 @@ public class MetaPageUpdatePartitionDataRecord extends 
PageDeltaRecord {
 
     /** {@inheritDoc} */
     @Override public String toString() {
-        return S.toString(MetaPageUpdatePartitionDataRecord.class, this);
+        return S.toString(MetaPageUpdatePartitionDataRecord.class, this, 
"super", super.toString());
     }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/NewRootInitRecord.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/NewRootInitRecord.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/NewRootInitRecord.java
index f39f91c..4b8f747 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/NewRootInitRecord.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/NewRootInitRecord.java
@@ -20,6 +20,7 @@ package org.apache.ignite.internal.pagemem.wal.record.delta;
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.internal.pagemem.PageMemory;
 import 
org.apache.ignite.internal.processors.cache.persistence.tree.io.BPlusInnerIO;
+import org.apache.ignite.internal.util.typedef.internal.S;
 
 /**
  * Initialize new root page.
@@ -112,4 +113,9 @@ public class NewRootInitRecord<L> extends PageDeltaRecord {
     public byte[] rowBytes() {
         return rowBytes;
     }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return S.toString(NewRootInitRecord.class, this, "super", 
super.toString());
+    }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/PageListMetaResetCountRecord.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/PageListMetaResetCountRecord.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/PageListMetaResetCountRecord.java
index 9c12380..af20bcf 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/PageListMetaResetCountRecord.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/PageListMetaResetCountRecord.java
@@ -20,6 +20,7 @@ package org.apache.ignite.internal.pagemem.wal.record.delta;
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.internal.pagemem.PageMemory;
 import 
org.apache.ignite.internal.processors.cache.persistence.freelist.io.PagesListMetaIO;
+import org.apache.ignite.internal.util.typedef.internal.S;
 
 /**
  * Delta record for page-list meta count reset
@@ -44,4 +45,9 @@ public class PageListMetaResetCountRecord extends 
PageDeltaRecord  {
     @Override public RecordType type() {
         return RecordType.PAGE_LIST_META_RESET_COUNT_RECORD;
     }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return S.toString(PageListMetaResetCountRecord.class, this, "super", 
super.toString());
+    }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/PagesListInitNewPageRecord.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/PagesListInitNewPageRecord.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/PagesListInitNewPageRecord.java
index ee83b8b..b2512aa 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/PagesListInitNewPageRecord.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/PagesListInitNewPageRecord.java
@@ -95,6 +95,8 @@ public class PagesListInitNewPageRecord extends 
InitNewPageRecord {
     @Override public String toString() {
         return S.toString(PagesListInitNewPageRecord.class, this,
             "prevPageId", U.hexLong(prevPageId),
-            "addDataPageId", U.hexLong(addDataPageId));
+            "addDataPageId", U.hexLong(addDataPageId),
+            "super", super.toString()
+        );
     }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/PagesListRemovePageRecord.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/PagesListRemovePageRecord.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/PagesListRemovePageRecord.java
index 8f2cd72..56d48bc 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/PagesListRemovePageRecord.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/PagesListRemovePageRecord.java
@@ -69,6 +69,7 @@ public class PagesListRemovePageRecord extends 
PageDeltaRecord {
         return S.toString(PagesListRemovePageRecord.class, this,
             "rmvdPageId", U.hexLong(rmvdPageId),
             "pageId", U.hexLong(pageId()),
-            "grpId", groupId());
+            "grpId", groupId(),
+            "super", super.toString());
     }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/PagesListSetNextRecord.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/PagesListSetNextRecord.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/PagesListSetNextRecord.java
index f46ac8e..8ab9485 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/PagesListSetNextRecord.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/PagesListSetNextRecord.java
@@ -20,6 +20,7 @@ package org.apache.ignite.internal.pagemem.wal.record.delta;
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.internal.pagemem.PageMemory;
 import 
org.apache.ignite.internal.processors.cache.persistence.freelist.io.PagesListNodeIO;
+import org.apache.ignite.internal.util.typedef.internal.S;
 
 /**
  *
@@ -57,4 +58,9 @@ public class PagesListSetNextRecord extends PageDeltaRecord {
     @Override public RecordType type() {
         return RecordType.PAGES_LIST_SET_NEXT;
     }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return S.toString(PagesListSetNextRecord.class, this, "super", 
super.toString());
+    }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/PagesListSetPreviousRecord.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/PagesListSetPreviousRecord.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/PagesListSetPreviousRecord.java
index cc27077..21a2055 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/PagesListSetPreviousRecord.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/PagesListSetPreviousRecord.java
@@ -20,6 +20,7 @@ package org.apache.ignite.internal.pagemem.wal.record.delta;
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.internal.pagemem.PageMemory;
 import 
org.apache.ignite.internal.processors.cache.persistence.freelist.io.PagesListNodeIO;
+import org.apache.ignite.internal.util.typedef.internal.S;
 
 /**
  *
@@ -57,4 +58,9 @@ public class PagesListSetPreviousRecord extends 
PageDeltaRecord {
     @Override public RecordType type() {
         return RecordType.PAGES_LIST_SET_PREVIOUS;
     }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return S.toString(PagesListSetPreviousRecord.class, this, "super", 
super.toString());
+    }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/PartitionDestroyRecord.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/PartitionDestroyRecord.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/PartitionDestroyRecord.java
index 834dc58..9daa0ea 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/PartitionDestroyRecord.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/PartitionDestroyRecord.java
@@ -18,6 +18,7 @@
 package org.apache.ignite.internal.pagemem.wal.record.delta;
 
 import org.apache.ignite.internal.pagemem.wal.record.WALRecord;
+import org.apache.ignite.internal.util.typedef.internal.S;
 
 /**
  *
@@ -70,4 +71,9 @@ public class PartitionDestroyRecord extends WALRecord {
     public void partitionId(int partId) {
         this.partId = partId;
     }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return S.toString(PartitionDestroyRecord.class, this, "super", 
super.toString());
+    }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/PartitionMetaStateRecord.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/PartitionMetaStateRecord.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/PartitionMetaStateRecord.java
index 8ab794c..f4dab90 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/PartitionMetaStateRecord.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/PartitionMetaStateRecord.java
@@ -19,6 +19,7 @@ package org.apache.ignite.internal.pagemem.wal.record.delta;
 
 import org.apache.ignite.internal.pagemem.wal.record.WALRecord;
 import 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtPartitionState;
+import org.apache.ignite.internal.util.typedef.internal.S;
 
 /**
  *
@@ -79,4 +80,9 @@ public class PartitionMetaStateRecord extends WALRecord {
     public long updateCounter() {
         return updateCounter;
     }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return S.toString(PartitionMetaStateRecord.class, this, "super", 
super.toString());
+    }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/RecycleRecord.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/RecycleRecord.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/RecycleRecord.java
index b505e4d..7790460 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/RecycleRecord.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/RecycleRecord.java
@@ -20,12 +20,16 @@ package org.apache.ignite.internal.pagemem.wal.record.delta;
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.internal.pagemem.PageMemory;
 import org.apache.ignite.internal.processors.cache.persistence.tree.io.PageIO;
+import org.apache.ignite.internal.util.tostring.GridToStringExclude;
+import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.internal.util.typedef.internal.U;
 
 /**
  * Recycle index page.
  */
 public class RecycleRecord extends PageDeltaRecord {
     /** */
+    @GridToStringExclude
     private long newPageId;
 
     /**
@@ -49,7 +53,18 @@ public class RecycleRecord extends PageDeltaRecord {
         return RecordType.BTREE_PAGE_RECYCLE;
     }
 
+    /**
+     *
+     */
     public long newPageId() {
         return newPageId;
     }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return S.toString(RecycleRecord.class, this,
+            "newPageId", U.hexLong(newPageId),
+            "super", super.toString()
+        );
+    }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/RemoveRecord.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/RemoveRecord.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/RemoveRecord.java
index 53f9cb0..8ea8c05 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/RemoveRecord.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/RemoveRecord.java
@@ -77,6 +77,6 @@ public class RemoveRecord extends PageDeltaRecord {
 
     /** {@inheritDoc} */
     @Override public String toString() {
-        return S.toString(RemoveRecord.class, this, super.toString());
+        return S.toString(RemoveRecord.class, this, "super", super.toString());
     }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/ReplaceRecord.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/ReplaceRecord.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/ReplaceRecord.java
index 2fbc0dd..67d43ac 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/ReplaceRecord.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/ReplaceRecord.java
@@ -20,6 +20,7 @@ package org.apache.ignite.internal.pagemem.wal.record.delta;
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.internal.pagemem.PageMemory;
 import org.apache.ignite.internal.processors.cache.persistence.tree.io.BPlusIO;
+import org.apache.ignite.internal.util.typedef.internal.S;
 
 /**
  * Replace.
@@ -83,4 +84,9 @@ public class ReplaceRecord<L> extends PageDeltaRecord {
     public byte[] rowBytes() {
         return rowBytes;
     }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return S.toString(ReplaceRecord.class, this, "super", 
super.toString());
+    }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/SplitExistingPageRecord.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/SplitExistingPageRecord.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/SplitExistingPageRecord.java
index 87638a6..2c88257 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/SplitExistingPageRecord.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/SplitExistingPageRecord.java
@@ -71,6 +71,6 @@ public class SplitExistingPageRecord extends PageDeltaRecord {
 
     /** {@inheritDoc} */
     @Override public String toString() {
-        return S.toString(SplitExistingPageRecord.class, this, "fwId", 
U.hexLong(fwdId), "parent", super.toString());
+        return S.toString(SplitExistingPageRecord.class, this, "fwId", 
U.hexLong(fwdId), "super", super.toString());
     }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/SplitForwardPageRecord.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/SplitForwardPageRecord.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/SplitForwardPageRecord.java
index 7f855f7..8f61e75 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/SplitForwardPageRecord.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/SplitForwardPageRecord.java
@@ -21,6 +21,7 @@ import java.nio.ByteBuffer;
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.IgniteException;
 import org.apache.ignite.internal.pagemem.PageMemory;
+import org.apache.ignite.internal.util.typedef.internal.S;
 
 /**
  * Split forward page record.
@@ -89,27 +90,50 @@ public class SplitForwardPageRecord extends PageDeltaRecord 
{
         return RecordType.BTREE_FORWARD_PAGE_SPLIT;
     }
 
+    /**
+     *
+     */
     public long forwardId() {
         return fwdId;
     }
 
+    /**
+     *
+     */
     public int ioType() {
         return ioType;
     }
 
+    /**
+     *
+     */
     public int ioVersion() {
         return ioVer;
     }
 
+    /**
+     *
+     */
     public long sourcePageId() {
         return srcPageId;
     }
 
+    /**
+     *
+     */
     public int middleIndex() {
         return mid;
     }
 
+    /**
+     *
+     */
     public int count() {
         return cnt;
     }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return S.toString(SplitForwardPageRecord.class, this, "super", 
super.toString());
+    }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/TrackingPageDeltaRecord.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/TrackingPageDeltaRecord.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/TrackingPageDeltaRecord.java
index 3d88e8c..089eb9a 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/TrackingPageDeltaRecord.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/TrackingPageDeltaRecord.java
@@ -20,6 +20,7 @@ package org.apache.ignite.internal.pagemem.wal.record.delta;
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.internal.pagemem.PageMemory;
 import 
org.apache.ignite.internal.processors.cache.persistence.tree.io.TrackingPageIO;
+import org.apache.ignite.internal.util.typedef.internal.S;
 
 /**
  * Delta record for updates in tracking pages
@@ -37,14 +38,14 @@ public class TrackingPageDeltaRecord extends 
PageDeltaRecord {
     /**
      * @param grpId Cache group id.
      * @param pageId Page id.
-     * @param nextSnapshotId
-     * @param lastSuccessfulSnapshotId
+     * @param nextSnapshotTag next snapshot tag
+     * @param lastSuccessfulSnapshotId last successful snapshot id
      */
-    public TrackingPageDeltaRecord(int grpId, long pageId, long pageIdToMark, 
long nextSnapshotId, long lastSuccessfulSnapshotId) {
+    public TrackingPageDeltaRecord(int grpId, long pageId, long pageIdToMark, 
long nextSnapshotTag, long lastSuccessfulSnapshotId) {
         super(grpId, pageId);
 
         this.pageIdToMark = pageIdToMark;
-        this.nextSnapshotId = nextSnapshotId;
+        this.nextSnapshotId = nextSnapshotTag;
         this.lastSuccessfulSnapshotId = lastSuccessfulSnapshotId;
     }
 
@@ -82,4 +83,9 @@ public class TrackingPageDeltaRecord extends PageDeltaRecord {
     @Override public RecordType type() {
         return RecordType.TRACKING_PAGE_DELTA;
     }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return S.toString(TrackingPageDeltaRecord.class, this, "super", 
super.toString());
+    }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java
index e048696..00ce1d5 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java
@@ -1508,7 +1508,8 @@ public final class GridDhtTxPrepareFuture extends 
GridCacheCompoundFuture<Ignite
             try {
                 List<ClusterNode> dhtNodes = 
dht.topology().nodes(cached.partition(), tx.topologyVersion());
 
-                assert !dhtNodes.isEmpty() && 
dhtNodes.get(0).id().equals(cctx.localNodeId()) : dhtNodes;
+                assert !dhtNodes.isEmpty() && 
dhtNodes.get(0).id().equals(cctx.localNodeId()) :
+                    "localNode = " + cctx.localNodeId() + ", dhtNodes = " + 
dhtNodes;
 
                 if (log.isDebugEnabled())
                     log.debug("Mapping entry to DHT nodes [nodes=" + 
U.toShortString(dhtNodes) +

http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/FileIODecorator.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/FileIODecorator.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/FileIODecorator.java
index 3e80ef8..5311590 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/FileIODecorator.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/FileIODecorator.java
@@ -24,7 +24,6 @@ import java.nio.ByteBuffer;
  * Decorator class for File I/O
  */
 public class FileIODecorator implements FileIO {
-
     /** File I/O delegate */
     private final FileIO delegate;
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/freelist/io/PagesListMetaIO.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/freelist/io/PagesListMetaIO.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/freelist/io/PagesListMetaIO.java
index 1490a5c..3c33241 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/freelist/io/PagesListMetaIO.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/freelist/io/PagesListMetaIO.java
@@ -17,12 +17,15 @@
 
 package org.apache.ignite.internal.processors.cache.persistence.freelist.io;
 
+import java.util.HashMap;
 import java.util.Map;
+import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.internal.pagemem.PageUtils;
 import 
org.apache.ignite.internal.processors.cache.persistence.freelist.PagesList;
 import 
org.apache.ignite.internal.processors.cache.persistence.tree.io.IOVersions;
 import org.apache.ignite.internal.processors.cache.persistence.tree.io.PageIO;
 import org.apache.ignite.internal.util.GridLongList;
+import org.apache.ignite.internal.util.GridStringBuilder;
 
 /**
  *
@@ -183,4 +186,22 @@ public class PagesListMetaIO extends PageIO {
     private int offset(int idx) {
         return ITEMS_OFF + ITEM_SIZE * idx;
     }
+
+    /** {@inheritDoc} */
+    @Override protected void printPage(long addr, int pageSize, 
GridStringBuilder sb) throws IgniteCheckedException {
+        int cnt = getCount(addr);
+
+        sb.a("PagesListMeta 
[\n\tnextMetaPageId=").appendHex(getNextMetaPageId(addr))
+            .a(",\n\tcount=").a(cnt)
+            .a(",\n\tbucketData={");
+
+        Map<Integer, GridLongList> bucketsData = new HashMap<>(cnt);
+
+        getBucketsData(addr, bucketsData);
+
+        for (Map.Entry<Integer, GridLongList> e : bucketsData.entrySet())
+            sb.a("\n\t\tbucket=").a(e.getKey()).a(", list=").a(e.getValue());
+
+        sb.a("\n\t}\n]");
+    }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/freelist/io/PagesListNodeIO.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/freelist/io/PagesListNodeIO.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/freelist/io/PagesListNodeIO.java
index 9197d56..a93cdf3 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/freelist/io/PagesListNodeIO.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/freelist/io/PagesListNodeIO.java
@@ -17,9 +17,11 @@
 
 package org.apache.ignite.internal.processors.cache.persistence.freelist.io;
 
+import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.internal.pagemem.PageUtils;
 import 
org.apache.ignite.internal.processors.cache.persistence.tree.io.IOVersions;
 import org.apache.ignite.internal.processors.cache.persistence.tree.io.PageIO;
+import org.apache.ignite.internal.util.GridStringBuilder;
 
 import static 
org.apache.ignite.internal.processors.cache.persistence.tree.util.PageHandler.copyMemory;
 
@@ -228,4 +230,18 @@ public class PagesListNodeIO extends PageIO {
     public boolean isEmpty(long pageAddr) {
         return getCount(pageAddr) == 0;
     }
+
+    /** {@inheritDoc} */
+    @Override protected void printPage(long addr, int pageSize, 
GridStringBuilder sb) throws IgniteCheckedException {
+        sb.a("PagesListNode 
[\n\tpreviousPageId=").appendHex(getPreviousId(addr))
+            .a(",\n\tnextPageId=").appendHex(getNextId(addr))
+            .a(",\n\tcount=").a(getCount(addr))
+            .a(",\n\tpages={")
+        ;
+
+        for (int i = 0; i < getCount(addr); i++)
+            sb.a("\n\t\t").a(getAt(addr, i));
+
+        sb.a("\n\t}\n]");
+    }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/BPlusIO.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/BPlusIO.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/BPlusIO.java
index 4c2b2e0..5e1cb81 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/BPlusIO.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/BPlusIO.java
@@ -20,6 +20,7 @@ package 
org.apache.ignite.internal.processors.cache.persistence.tree.io;
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.internal.pagemem.PageUtils;
 import org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree;
+import org.apache.ignite.internal.util.GridStringBuilder;
 import org.apache.ignite.lang.IgniteInClosure;
 
 /**
@@ -400,4 +401,15 @@ public abstract class BPlusIO<L> extends PageIO {
     public void visit(long pageAddr, IgniteInClosure<L> c) {
         // No-op.
     }
+
+    /** {@inheritDoc} */
+    @Override protected void printPage(long addr, int pageSize, 
GridStringBuilder sb) throws IgniteCheckedException {
+        sb.a("BPlusIO [\n\tcanGetRow=").a(canGetRow)
+            .a(",\n\tleaf=").a(leaf)
+            .a(",\n\titemSize=").a(itemSize)
+            .a(",\n\tcnt=").a(getCount(addr))
+            .a(",\n\tforward=").appendHex(getForward(addr))
+            .a(",\n\tremoveId=").appendHex(getRemoveId(addr))
+            .a("\n]");
+    }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/BPlusMetaIO.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/BPlusMetaIO.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/BPlusMetaIO.java
index 6f430c1..afa3c9a 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/BPlusMetaIO.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/BPlusMetaIO.java
@@ -17,8 +17,10 @@
 
 package org.apache.ignite.internal.processors.cache.persistence.tree.io;
 
+import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.IgniteException;
 import org.apache.ignite.internal.pagemem.PageUtils;
+import org.apache.ignite.internal.util.GridStringBuilder;
 
 /**
  * IO routines for B+Tree meta pages.
@@ -179,4 +181,14 @@ public class BPlusMetaIO extends PageIO {
     public int getInlineSize(long pageAddr) {
         return getVersion() > 1 ? PageUtils.getShort(pageAddr, inlineSizeOff) 
: 0;
     }
+
+    /** {@inheritDoc} */
+    @Override protected void printPage(long addr, int pageSize, 
GridStringBuilder sb) throws IgniteCheckedException {
+        sb.a("BPlusMeta [\n\tlevelsCnt=").a(getLevelsCount(addr))
+            .a(",\n\trootLvl=").a(getRootLevel(addr))
+            .a(",\n\tinlineSize=").a(getInlineSize(addr))
+            .a("\n]")
+        ;
+            //TODO print firstPageIds by level
+    }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/DataPageIO.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/DataPageIO.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/DataPageIO.java
index e177d83..e6876a1 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/DataPageIO.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/DataPageIO.java
@@ -31,6 +31,7 @@ import 
org.apache.ignite.internal.processors.cache.CacheObject;
 import org.apache.ignite.internal.processors.cache.persistence.CacheDataRow;
 import 
org.apache.ignite.internal.processors.cache.persistence.tree.util.PageHandler;
 import org.apache.ignite.internal.processors.cache.version.GridCacheVersion;
+import org.apache.ignite.internal.util.GridStringBuilder;
 import org.apache.ignite.internal.util.typedef.internal.SB;
 import org.jetbrains.annotations.Nullable;
 
@@ -352,14 +353,25 @@ public class DataPageIO extends PageIO {
      * @return String representation.
      */
     private String printPageLayout(long pageAddr, int pageSize) {
+        SB b = new SB();
+
+        printPageLayout(pageAddr, pageSize, b);
+
+        return b.toString();
+    }
+
+    /**
+     * @param pageAddr Page address.
+     * @param pageSize Page size.
+     * @param b B.
+     */
+    private void printPageLayout(long pageAddr, int pageSize, 
GridStringBuilder b) {
         int directCnt = getDirectCount(pageAddr);
         int indirectCnt = getIndirectCount(pageAddr);
         int free = getRealFreeSpace(pageAddr);
 
         boolean valid = directCnt >= indirectCnt;
 
-        SB b = new SB();
-
         b.appendHex(PageIO.getPageId(pageAddr)).a(" [");
 
         int entriesSize = 0;
@@ -419,8 +431,6 @@ public class DataPageIO extends PageIO {
             b.a("]");
 
         assert valid : b.toString();
-
-        return b.toString();
     }
 
     /**
@@ -1432,6 +1442,13 @@ public class DataPageIO extends PageIO {
         PageUtils.putBytes(pageAddr, dataOff, payload);
     }
 
+    /** {@inheritDoc} */
+    @Override protected void printPage(long addr, int pageSize, 
GridStringBuilder sb) throws IgniteCheckedException {
+        sb.a("DataPageIO [\n");
+        printPageLayout(addr, 0, sb);
+        sb.a("\n]");
+    }
+
     /**
      * Defines closure interface for applying computations to data page items.
      *

http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/PageIO.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/PageIO.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/PageIO.java
index da9b818..11250ef 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/PageIO.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/PageIO.java
@@ -21,6 +21,7 @@ import java.nio.ByteBuffer;
 import java.util.ArrayList;
 import java.util.List;
 import org.apache.ignite.IgniteCheckedException;
+import org.apache.ignite.internal.pagemem.PageIdUtils;
 import org.apache.ignite.internal.pagemem.PageMemory;
 import org.apache.ignite.internal.pagemem.PageUtils;
 import org.apache.ignite.internal.pagemem.wal.IgniteWriteAheadLogManager;
@@ -37,6 +38,7 @@ import 
org.apache.ignite.internal.processors.cache.tree.DataInnerIO;
 import org.apache.ignite.internal.processors.cache.tree.DataLeafIO;
 import org.apache.ignite.internal.processors.cache.tree.PendingEntryInnerIO;
 import org.apache.ignite.internal.processors.cache.tree.PendingEntryLeafIO;
+import org.apache.ignite.internal.util.GridStringBuilder;
 
 /**
  * Base format for all the page types.
@@ -552,4 +554,29 @@ public abstract class PageIO {
     public static boolean isDataPageType(int type) {
         return type == T_DATA;
     }
+
+    /**
+     * @param addr Address.
+     * @param pageSize
+     * @param sb Sb.
+     */
+    protected abstract void printPage(long addr, int pageSize, 
GridStringBuilder sb) throws IgniteCheckedException ;
+
+    /**
+     * @param addr Address.
+     */
+    public static String printPage(long addr, int pageSize) throws 
IgniteCheckedException {
+        PageIO io = getPageIO(addr);
+
+        GridStringBuilder sb = new GridStringBuilder("Header [\n\ttype=");
+
+        sb.a(getType(addr)).a(" (").a(io.getClass().getSimpleName())
+            .a("),\n\tver=").a(getVersion(addr)).a(",\n\tcrc=").a(getCrc(addr))
+            .a(",\n\t").a(PageIdUtils.toDetailString(getPageId(addr)))
+            .a("\n],\n");
+
+        io.printPage(addr, pageSize, sb);
+
+        return sb.toString();
+    }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/PageMetaIO.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/PageMetaIO.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/PageMetaIO.java
index becd3e4..d2921ee 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/PageMetaIO.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/PageMetaIO.java
@@ -18,7 +18,9 @@
 package org.apache.ignite.internal.processors.cache.persistence.tree.io;
 
 import java.nio.ByteBuffer;
+import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.internal.pagemem.PageUtils;
+import org.apache.ignite.internal.util.GridStringBuilder;
 import org.jetbrains.annotations.NotNull;
 
 /**
@@ -226,4 +228,16 @@ public class PageMetaIO extends PageIO {
     public int getCandidatePageCount(long pageAddr) {
         return PageUtils.getInt(pageAddr, CANDIDATE_PAGE_COUNT_OFF);
     }
+
+    /** {@inheritDoc} */
+    @Override protected void printPage(long addr, int pageSize, 
GridStringBuilder sb) throws IgniteCheckedException {
+        sb.a("PageMeta[\n\ttreeRoot=").a(getReuseListRoot(addr))
+            
.a(",\n\tlastSuccessfulFullSnapshotId=").a(getLastSuccessfulFullSnapshotId(addr))
+            
.a(",\n\tlastSuccessfulSnapshotId=").a(getLastSuccessfulSnapshotId(addr))
+            .a(",\n\tnextSnapshotTag=").a(getNextSnapshotTag(addr))
+            
.a(",\n\tlastSuccessfulSnapshotTag=").a(getLastSuccessfulSnapshotTag(addr))
+            
.a(",\n\tlastAllocatedPageCount=").a(getLastAllocatedPageCount(addr))
+            .a(",\n\tcandidatePageCount=").a(getCandidatePageCount(addr))
+            .a("\n]");
+    }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/PagePartitionCountersIO.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/PagePartitionCountersIO.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/PagePartitionCountersIO.java
index d5b81c1..4803b44 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/PagePartitionCountersIO.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/PagePartitionCountersIO.java
@@ -18,8 +18,11 @@
 
 package org.apache.ignite.internal.processors.cache.persistence.tree.io;
 
+import java.util.HashMap;
 import java.util.Map;
+import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.internal.pagemem.PageUtils;
+import org.apache.ignite.internal.util.GridStringBuilder;
 
 /**
  *
@@ -139,10 +142,17 @@ public class PagePartitionCountersIO extends PageIO {
         return getLastFlag(pageAddr);
     }
 
+    /**
+     * @param pageAddr Page address.
+     */
     private boolean getLastFlag(long pageAddr) {
         return PageUtils.getByte(pageAddr, LAST_FLAG_OFF) == LAST_FLAG;
     }
 
+    /**
+     * @param pageAddr Page address.
+     * @param last Last.
+     */
     private void setLastFlag(long pageAddr, boolean last) {
         PageUtils.putByte(pageAddr, LAST_FLAG_OFF, last ? LAST_FLAG : 
~LAST_FLAG);
     }
@@ -172,4 +182,21 @@ public class PagePartitionCountersIO extends PageIO {
     private int getCapacity(int pageSize) {
         return (pageSize - ITEMS_OFF) / ITEM_SIZE;
     }
+
+    /** {@inheritDoc} */
+    @Override protected void printPage(long addr, int pageSize, 
GridStringBuilder sb) throws IgniteCheckedException {
+        sb.a("PagePartitionCounters [\n\tcount=").a(getCount(addr))
+            .a(",\n\tlastFlag=").a(getLastFlag(addr))
+            
.a(",\n\tnextCountersPageId=").appendHex(getNextCountersPageId(addr))
+            .a(",\n\tsize={");
+
+        Map<Integer, Long> sizes = new HashMap<>();
+
+        readCacheSizes(addr, sizes);
+
+        for (Map.Entry<Integer, Long> e : sizes.entrySet())
+            sb.a("\n\t\t").a(e.getKey()).a("=").a(e.getValue());
+
+        sb.a("\n\t}\n]");
+    }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/PagePartitionMetaIO.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/PagePartitionMetaIO.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/PagePartitionMetaIO.java
index 88dbf9c..9a50e5c 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/PagePartitionMetaIO.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/PagePartitionMetaIO.java
@@ -18,7 +18,10 @@
 
 package org.apache.ignite.internal.processors.cache.persistence.tree.io;
 
+import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.internal.pagemem.PageUtils;
+import 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtPartitionState;
+import org.apache.ignite.internal.util.GridStringBuilder;
 
 /**
  *
@@ -160,4 +163,20 @@ public class PagePartitionMetaIO extends PageMetaIO {
     public void setCountersPageId(long pageAddr, long metaPageId) {
         PageUtils.putLong(pageAddr, NEXT_PART_META_PAGE_OFF, metaPageId);
     }
+
+    /** {@inheritDoc} */
+    @Override protected void printPage(long pageAddr, int pageSize, 
GridStringBuilder sb) throws IgniteCheckedException {
+        super.printPage(pageAddr, pageSize, sb);
+
+        byte state = getPartitionState(pageAddr);
+
+        sb
+            .a(",\nPagePartitionMeta[\n\tsize=").a(getSize(pageAddr))
+            .a(",\n\tupdateCounter=").a(getUpdateCounter(pageAddr))
+            .a(",\n\tglobalRemoveId=").a(getGlobalRemoveId(pageAddr))
+            
.a(",\n\tpartitionState=").a(state).a("(").a(GridDhtPartitionState.fromOrdinal(state)).a(")")
+            .a(",\n\tcountersPageId=").a(getCountersPageId(pageAddr))
+            .a("\n]")
+            ;
+    }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/TrackingPageIO.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/TrackingPageIO.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/TrackingPageIO.java
index 2051778..1bd70f8 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/TrackingPageIO.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/TrackingPageIO.java
@@ -18,8 +18,11 @@
 package org.apache.ignite.internal.processors.cache.persistence.tree.io;
 
 import java.nio.ByteBuffer;
+import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.internal.pagemem.PageIdUtils;
 import 
org.apache.ignite.internal.processors.cache.persistence.tree.util.PageHandler;
+import org.apache.ignite.internal.util.GridStringBuilder;
+import org.apache.ignite.internal.util.GridUnsafe;
 import org.jetbrains.annotations.Nullable;
 
 /**
@@ -178,6 +181,13 @@ public class TrackingPageIO extends PageIO {
     }
 
     /**
+     * @param addr Address.
+     */
+    long getLastSnapshotTag(long addr) {
+        return GridUnsafe.getLong(addr + LAST_SNAPSHOT_TAG_OFFSET);
+    }
+
+    /**
      * Check that pageId was marked as changed between previous snapshot 
finish and current snapshot start.
      *
      * @param buf Buffer.
@@ -335,4 +345,25 @@ public class TrackingPageIO extends PageIO {
 
         return -1;
     }
+
+    /** {@inheritDoc} */
+    @Override protected void printPage(long addr, int pageSize, 
GridStringBuilder sb) throws IgniteCheckedException {
+        sb.a("TrackingPage [\n\tlastSnapshotTag=").a(getLastSnapshotTag(addr))
+            .a(",\n\tleftHalf={")
+            .a("\n\t\tsize=").a(GridUnsafe.getShort(addr + SIZE_FIELD_OFFSET))
+            .a("\n\t\tdata={");
+
+        for (int i = 0; i < (countOfPageToTrack(pageSize) >> 3); i += 2)
+            sb.appendHex(GridUnsafe.getShort(addr + BITMAP_OFFSET + i));
+
+        sb.a("}\n\t},\n\trightHalf={")
+            .a("\n\t\tsize=").a(GridUnsafe.getShort(addr + BITMAP_OFFSET + 
(countOfPageToTrack(pageSize) >> 3)))
+            .a("\n\t\tdata={");
+
+        for (int i = 0; i < (countOfPageToTrack(pageSize) >> 3); i += 2)
+            sb.appendHex(GridUnsafe.getShort(addr + BITMAP_OFFSET + 
(countOfPageToTrack(pageSize) >> 3)
+                 + SIZE_FIELD_SIZE + i));
+
+        sb.a("}\n\t}\n]");
+    }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/319aa840/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java
index a9327a0..d2e85f1 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java
@@ -70,6 +70,7 @@ import org.apache.ignite.internal.util.GridUnsafe;
 import org.apache.ignite.internal.util.typedef.F;
 import org.apache.ignite.internal.util.typedef.G;
 import org.apache.ignite.internal.util.typedef.internal.A;
+import org.apache.ignite.internal.util.typedef.internal.S;
 import org.apache.ignite.internal.util.typedef.internal.SB;
 import org.apache.ignite.internal.util.typedef.internal.U;
 import org.apache.ignite.lang.IgniteBiTuple;
@@ -2336,6 +2337,11 @@ public class FileWriteAheadLogManager extends 
GridCacheSharedManagerAdapter impl
         @Override public FileWALPointer position() {
             return (FileWALPointer) super.position();
         }
+
+        /** {@inheritDoc} */
+        @Override public String toString() {
+            return S.toString(FakeRecord.class, this, "super", 
super.toString());
+        }
     }
 
     /**

Reply via email to