You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by dp...@apache.org on 2019/01/23 11:45:37 UTC
[ignite] branch ignite-11030-test updated: IGNITE-11030 Hacks to
dump page data
This is an automated email from the ASF dual-hosted git repository.
dpavlov pushed a commit to branch ignite-11030-test
in repository https://gitbox.apache.org/repos/asf/ignite.git
The following commit(s) were added to refs/heads/ignite-11030-test by this push:
new 5c73e78 IGNITE-11030 Hacks to dump page data
5c73e78 is described below
commit 5c73e7872d0b59b949cb34c098c4318d75bfa27d
Author: Dmitriy Pavlov <dp...@apache.org>
AuthorDate: Wed Jan 23 14:45:31 2019 +0300
IGNITE-11030 Hacks to dump page data
---
.../cache/persistence/pagemem/PageMemoryImpl.java | 20 +++++++++++++++++++-
.../cache/persistence/db/IgniteTcBotSandboxTest.java | 5 +++--
2 files changed, 22 insertions(+), 3 deletions(-)
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/PageMemoryImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/PageMemoryImpl.java
index 88f7ec2..865fa00 100755
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/PageMemoryImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/PageMemoryImpl.java
@@ -34,6 +34,7 @@ import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.locks.ReentrantReadWriteLock;
+import javax.xml.bind.DatatypeConverter;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.IgniteException;
import org.apache.ignite.IgniteLogger;
@@ -1548,7 +1549,8 @@ public class PageMemoryImpl implements PageMemoryEx {
long pageId = PageIO.getPageId(page + PAGE_OVERHEAD);
assert pageId != 0 : U.hexLong(PageHeader.readPageId(page));
- assert PageIO.getVersion(page + PAGE_OVERHEAD) != 0 : U.hexLong(pageId);
+ assert PageIO.getVersion(page + PAGE_OVERHEAD) != 0 : dumpPage(pageId, page,
+ fullId.groupId());
assert PageIO.getType(page + PAGE_OVERHEAD) != 0 : U.hexLong(pageId);
try {
@@ -1566,6 +1568,22 @@ public class PageMemoryImpl implements PageMemoryEx {
}
}
+ @NotNull private String dumpPage(long pageId, long page, int grpId) {
+ int pageIdx = PageIdUtils.pageIndex(pageId);
+ int partId = PageIdUtils.partId(pageId);
+
+ int pageSize = pageSize();
+ byte[] data = new byte[pageSize];
+
+ for (int i = 0; i < pageSize; i++)
+ data[i] = GridUnsafe.getByte(page + PAGE_OVERHEAD + i);
+
+ long off = (long)pageIdx * pageSize;
+ return U.hexLong(pageId) + "(grpId=" + grpId + ", pageIdx=" + pageIdx + ", partId=" + partId + ",offH=" +
+ Long.toHexString(off) + ")"
+ + ": " + DatatypeConverter.printHexBinary(data);
+ }
+
/**
* @param absPtr Absolute pointer to the page.
* @return {@code True} if write lock acquired for the page.
diff --git a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgniteTcBotSandboxTest.java b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgniteTcBotSandboxTest.java
index 58969d0..4c8d9e9 100644
--- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgniteTcBotSandboxTest.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgniteTcBotSandboxTest.java
@@ -27,6 +27,7 @@ import org.apache.ignite.configuration.DataStorageConfiguration;
import org.apache.ignite.configuration.IgniteConfiguration;
import org.apache.ignite.configuration.WALMode;
import org.apache.ignite.internal.IgniteEx;
+import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
import org.junit.Test;
@@ -36,8 +37,8 @@ public class IgniteTcBotSandboxTest extends GridCommonAbstractTest {
@Test
public void readTcBotDb() throws Exception {
- //IgniteConfiguration cfg = new IgniteConfiguration();
- // Ignite start = Ignition.start(cfg);
+ System.out.println("Cache name hash code: " + U.safeAbs(TEST_HIST_CACHE_NAME.hashCode()));
+
IgniteEx ignite = startGrid(0);
ignite.cluster().active(true);