You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2017/01/11 14:32:14 UTC
[1/2] ignite git commit: Minor.
Repository: ignite
Updated Branches:
refs/heads/ignite-gg-11810 b81c30acb -> 1038a0b48
http://git-wip-us.apache.org/repos/asf/ignite/blob/1038a0b4/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/io/CacheVersionIO.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/io/CacheVersionIO.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/io/CacheVersionIO.java
index fac3e20..8a630cc 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/io/CacheVersionIO.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/io/CacheVersionIO.java
@@ -78,25 +78,25 @@ public class CacheVersionIO {
}
/**
- * @param buf Byte buffer.
+ * @param addr Write address.
* @param ver Version to write.
* @param allowNull Is {@code null} version allowed.
*/
- public static void write(long buf, GridCacheVersion ver, boolean allowNull) {
+ public static void write(long addr, GridCacheVersion ver, boolean allowNull) {
if (ver == null) {
if (allowNull)
- PageUtils.putByte(buf, 0, NULL_PROTO_VER);
+ PageUtils.putByte(addr, 0, NULL_PROTO_VER);
else
throw new IllegalStateException("Cache version is null");
}
else {
byte protoVer = 1; // Version of serialization protocol.
- PageUtils.putByte(buf, 0, protoVer);
- PageUtils.putInt(buf, 1, ver.topologyVersion());
- PageUtils.putInt(buf, 5, ver.nodeOrderAndDrIdRaw());
- PageUtils.putLong(buf, 9, ver.globalTime());
- PageUtils.putLong(buf, 17, ver.order());
+ PageUtils.putByte(addr, 0, protoVer);
+ PageUtils.putInt(addr, 1, ver.topologyVersion());
+ PageUtils.putInt(addr, 5, ver.nodeOrderAndDrIdRaw());
+ PageUtils.putLong(addr, 9, ver.globalTime());
+ PageUtils.putLong(addr, 17, ver.order());
}
}
@@ -165,48 +165,23 @@ public class CacheVersionIO {
}
/**
- * Gets needed buffer size to read the whole version instance.
- * Does not change buffer position.
- *
- * @param buf Buffer.
- * @param allowNull Is {@code null} version allowed.
- * @return Size of serialized version.
- * @throws IgniteCheckedException If failed.
- */
- public static int readSize(long buf, boolean allowNull) throws IgniteCheckedException {
- byte protoVer = checkProtocolVersion(PageUtils.getByte(buf, 0), allowNull);
-
- switch (protoVer) {
- case NULL_PROTO_VER:
- return NULL_SIZE;
-
- case 1:
- return SIZE_V1;
-
- default:
- throw new IllegalStateException();
- }
- }
-
- /**
- * Reads GridCacheVersion instance from the given buffer. Moves buffer's position by the number of used
- * bytes.
+ * Reads GridCacheVersion instance from the given address.
*
- * @param buf Byte buffer.
+ * @param pageAddr Page address.
* @param allowNull Is {@code null} version allowed.
* @return Version.
* @throws IgniteCheckedException If failed.
*/
- public static GridCacheVersion read(long buf, boolean allowNull) throws IgniteCheckedException {
- byte protoVer = checkProtocolVersion(PageUtils.getByte(buf, 0), allowNull);
+ public static GridCacheVersion read(long pageAddr, boolean allowNull) throws IgniteCheckedException {
+ byte protoVer = checkProtocolVersion(PageUtils.getByte(pageAddr, 0), allowNull);
if (protoVer == NULL_PROTO_VER)
return null;
- int topVer = PageUtils.getInt(buf, 1);
- int nodeOrderDrId = PageUtils.getInt(buf, 5);
- long globalTime = PageUtils.getLong(buf, 9);
- long order = PageUtils.getLong(buf, 17);
+ int topVer = PageUtils.getInt(pageAddr, 1);
+ int nodeOrderDrId = PageUtils.getInt(pageAddr, 5);
+ long globalTime = PageUtils.getLong(pageAddr, 9);
+ long order = PageUtils.getLong(pageAddr, 17);
return new GridCacheVersion(topVer, nodeOrderDrId, globalTime, order);
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/1038a0b4/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/io/IOVersions.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/io/IOVersions.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/io/IOVersions.java
index f5eb4b0..428cb3f 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/io/IOVersions.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/io/IOVersions.java
@@ -78,16 +78,16 @@ public final class IOVersions<V extends PageIO> {
}
/**
- * @param buf Buffer.
+ * @param pageAddr Page address.
* @return IO.
*/
- public V forPage(long buf) {
- int ver = PageIO.getVersion(buf);
+ public V forPage(long pageAddr) {
+ int ver = PageIO.getVersion(pageAddr);
V res = forVersion(ver);
- assert res.getType() == PageIO.getType(buf) : "resType=" + res.getType() +
- ", pageType=" + PageIO.getType(buf);
+ assert res.getType() == PageIO.getType(pageAddr) : "resType=" + res.getType() +
+ ", pageType=" + PageIO.getType(pageAddr);
return res;
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/1038a0b4/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/io/PageIO.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/io/PageIO.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/io/PageIO.java
index 58f2b66b3..5ffc1b2 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/io/PageIO.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/io/PageIO.java
@@ -39,7 +39,7 @@ import org.apache.ignite.internal.processors.cache.database.tree.util.PageLockLi
* static methods (like {@code {@link #getPageId(long)}}) intentionally:
* this base format can not be changed between versions.
*
- * 2. IO must correctly override {@link #initNewPage(long, long)} method and call super.
+ * 2. IO must correctly override {@link #initNewPage(long, long, int)} method and call super.
* We have logic that relies on this behavior.
*
* 3. Page IO type ID constant must be declared in this class to have a list of all the
@@ -200,11 +200,11 @@ public abstract class PageIO {
}
/**
- * @param buf Buffer.
+ * @param pageAddr Page address.
* @return Page ID.
*/
- public static long getPageId(long buf) {
- return PageUtils.getLong(buf, PAGE_ID_OFF);
+ public static long getPageId(long pageAddr) {
+ return PageUtils.getLong(pageAddr, PAGE_ID_OFF);
}
/**
http://git-wip-us.apache.org/repos/asf/ignite/blob/1038a0b4/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/util/PageHandler.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/util/PageHandler.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/util/PageHandler.java
index 222a6a0..3e6e637 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/util/PageHandler.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/util/PageHandler.java
@@ -285,6 +285,13 @@ public abstract class PageHandler<X, R> {
(page.fullPageWalRecordPolicy() == FALSE || page.isDirty());
}
+ /**
+ * @param srcAddr Source.
+ * @param dstAddr Destination.
+ * @param srcOff Source offset in bytes.
+ * @param dstOff Destination offset in bytes.
+ * @param cnt Bytes count to copy.
+ */
public static void copyMemory(long srcAddr, long dstAddr, long srcOff, long dstOff, long cnt) {
GridUnsafe.copyMemory(null, srcAddr + srcOff, null, dstAddr + dstOff, cnt);
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/1038a0b4/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/util/PageLockListener.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/util/PageLockListener.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/util/PageLockListener.java
index 8ee4e01..07cdd43 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/util/PageLockListener.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/util/PageLockListener.java
@@ -17,7 +17,6 @@
package org.apache.ignite.internal.processors.cache.database.tree.util;
-import java.nio.ByteBuffer;
import org.apache.ignite.internal.pagemem.Page;
/**
@@ -31,15 +30,15 @@ public interface PageLockListener {
/**
* @param page Page.
- * @param buf Buffer or {@code null} if attempt to lock failed.
+ * @param pageAddr Page address or {@code 0} if attempt to lock failed.
*/
- public void onWriteLock(Page page, long buf);
+ public void onWriteLock(Page page, long pageAddr);
/**
* @param page Page.
- * @param buf Buffer.
+ * @param pageAddr Page address.
*/
- public void onWriteUnlock(Page page, long buf);
+ public void onWriteUnlock(Page page, long pageAddr);
/**
* @param page Page.
@@ -48,13 +47,13 @@ public interface PageLockListener {
/**
* @param page Page.
- * @param buf Buffer or {@code null} if attempt to lock failed.
+ * @param pageAddr Page address or {@code 0} if attempt to lock failed.
*/
- public void onReadLock(Page page, long buf);
+ public void onReadLock(Page page, long pageAddr);
/**
* @param page Page.
- * @param buf Buffer.
+ * @param pageAddr Page address.
*/
- public void onReadUnlock(Page page, long buf);
+ public void onReadUnlock(Page page, long pageAddr);
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/1038a0b4/modules/core/src/main/java/org/apache/ignite/internal/util/GridUnsafe.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/GridUnsafe.java b/modules/core/src/main/java/org/apache/ignite/internal/util/GridUnsafe.java
index eb5a27f..783ab96 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/GridUnsafe.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/GridUnsafe.java
@@ -46,7 +46,7 @@ import sun.misc.Unsafe;
*/
public abstract class GridUnsafe {
/** Unsafe. */
- public static final Unsafe UNSAFE = unsafe();
+ private static final Unsafe UNSAFE = unsafe();
/** Unaligned flag. */
private static final boolean UNALIGNED = unaligned();
http://git-wip-us.apache.org/repos/asf/ignite/blob/1038a0b4/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteIncompleteCacheObjectSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteIncompleteCacheObjectSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteIncompleteCacheObjectSelfTest.java
index 4aa72cb..32503d2 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteIncompleteCacheObjectSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteIncompleteCacheObjectSelfTest.java
@@ -123,7 +123,7 @@ public class IgniteIncompleteCacheObjectSelfTest extends GridCommonAbstractTest
/** {@inheritDoc} */
@Override public int putValue(long addr) throws IgniteCheckedException {
- return 0;
+ throw new UnsupportedOperationException();
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/1038a0b4/modules/core/src/test/java/org/apache/ignite/internal/processors/database/BPlusTreeReuseSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/database/BPlusTreeReuseSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/database/BPlusTreeReuseSelfTest.java
index e1d0da6..5f38bb0 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/database/BPlusTreeReuseSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/database/BPlusTreeReuseSelfTest.java
@@ -90,15 +90,15 @@ public class BPlusTreeReuseSelfTest extends BPlusTreeSelfTest {
}
/** {@inheritDoc} */
- @Override public void onReadLock(Page page, long buf) {
- checkPageId(page, buf);
+ @Override public void onReadLock(Page page, long pageAddr) {
+ checkPageId(page, pageAddr);
assertTrue(readLocks.get().add(page.id()));
}
/** {@inheritDoc} */
- @Override public void onReadUnlock(Page page, long buf) {
- checkPageId(page, buf);
+ @Override public void onReadUnlock(Page page, long pageAddr) {
+ checkPageId(page, pageAddr);
assertTrue(readLocks.get().remove(page.id()));
}
@@ -109,18 +109,18 @@ public class BPlusTreeReuseSelfTest extends BPlusTreeSelfTest {
}
/** {@inheritDoc} */
- @Override public void onWriteLock(Page page, long buf) {
- if (buf == 0L)
+ @Override public void onWriteLock(Page page, long pageAddr) {
+ if (pageAddr == 0L)
return; // Failed to lock.
- checkPageId(page, buf);
+ checkPageId(page, pageAddr);
assertTrue(writeLocks.get().add(page.id()));
}
/** {@inheritDoc} */
- @Override public void onWriteUnlock(Page page, long buf) {
- assertEquals(effectivePageId(page.id()), effectivePageId(PageIO.getPageId(buf)));
+ @Override public void onWriteUnlock(Page page, long pageAddr) {
+ assertEquals(effectivePageId(page.id()), effectivePageId(PageIO.getPageId(pageAddr)));
assertTrue(writeLocks.get().remove(page.id()));
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/1038a0b4/modules/core/src/test/java/org/apache/ignite/internal/processors/database/BPlusTreeSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/database/BPlusTreeSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/database/BPlusTreeSelfTest.java
index 0358f5a..e5cda8f 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/database/BPlusTreeSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/database/BPlusTreeSelfTest.java
@@ -1132,10 +1132,10 @@ public class BPlusTreeSelfTest extends GridCommonAbstractTest {
/**
* @param page Page.
- * @param buf Buffer.
+ * @param pageAddr Page address.
*/
- public static void checkPageId(Page page, long buf) {
- long pageId = PageIO.getPageId(buf);
+ public static void checkPageId(Page page, long pageAddr) {
+ long pageId = PageIO.getPageId(pageAddr);
// Page ID must be 0L for newly allocated page, for reused page effective ID must remain the same.
if (pageId != 0L && page.id() != pageId)
@@ -1199,18 +1199,18 @@ public class BPlusTreeSelfTest extends GridCommonAbstractTest {
}
/** {@inheritDoc} */
- @Override protected int compare(BPlusIO<Long> io, long buf, int idx, Long n2)
+ @Override protected int compare(BPlusIO<Long> io, long pageAddr, int idx, Long n2)
throws IgniteCheckedException {
- Long n1 = io.getLookupRow(this, buf, idx);
+ Long n1 = io.getLookupRow(this, pageAddr, idx);
return Long.compare(n1, n2);
}
/** {@inheritDoc} */
- @Override protected Long getRow(BPlusIO<Long> io, long buf, int idx) throws IgniteCheckedException {
+ @Override protected Long getRow(BPlusIO<Long> io, long pageAddr, int idx) throws IgniteCheckedException {
assert io.canGetRow() : io;
- return io.getLookupRow(this, buf, idx);
+ return io.getLookupRow(this, pageAddr, idx);
}
/**
@@ -1247,11 +1247,11 @@ public class BPlusTreeSelfTest extends GridCommonAbstractTest {
}
/** {@inheritDoc} */
- @Override public void onReadLock(Page page, long buf) {
- if (buf != 0L) {
- long pageId = PageIO.getPageId(buf);
+ @Override public void onReadLock(Page page, long pageAddr) {
+ if (pageAddr != 0L) {
+ long pageId = PageIO.getPageId(pageAddr);
- checkPageId(page, buf);
+ checkPageId(page, pageAddr);
assertNull(locks(true).put(page.id(), pageId));
}
@@ -1260,10 +1260,10 @@ public class BPlusTreeSelfTest extends GridCommonAbstractTest {
}
/** {@inheritDoc} */
- @Override public void onReadUnlock(Page page, long buf) {
- checkPageId(page, buf);
+ @Override public void onReadUnlock(Page page, long pageAddr) {
+ checkPageId(page, pageAddr);
- long pageId = PageIO.getPageId(buf);
+ long pageId = PageIO.getPageId(pageAddr);
assertEquals(Long.valueOf(pageId), locks(true).remove(page.id()));
}
@@ -1274,11 +1274,11 @@ public class BPlusTreeSelfTest extends GridCommonAbstractTest {
}
/** {@inheritDoc} */
- @Override public void onWriteLock(Page page, long buf) {
- if (buf != 0L) {
- checkPageId(page, buf);
+ @Override public void onWriteLock(Page page, long pageAddr) {
+ if (pageAddr != 0L) {
+ checkPageId(page, pageAddr);
- long pageId = PageIO.getPageId(buf);
+ long pageId = PageIO.getPageId(pageAddr);
if (pageId == 0L)
pageId = page.id(); // It is a newly allocated page.
@@ -1290,8 +1290,8 @@ public class BPlusTreeSelfTest extends GridCommonAbstractTest {
}
/** {@inheritDoc} */
- @Override public void onWriteUnlock(Page page, long buf) {
- assertEquals(effectivePageId(page.id()), effectivePageId(PageIO.getPageId(buf)));
+ @Override public void onWriteUnlock(Page page, long pageAddr) {
+ assertEquals(effectivePageId(page.id()), effectivePageId(PageIO.getPageId(pageAddr)));
assertEquals(Long.valueOf(page.id()), locks(false).remove(page.id()));
}
@@ -1382,16 +1382,16 @@ public class BPlusTreeSelfTest extends GridCommonAbstractTest {
}
/** {@inheritDoc} */
- @Override public void storeByOffset(long buf, int off, Long row) {
+ @Override public void storeByOffset(long pageAddr, int off, Long row) {
checkNotRemoved(row);
- PageUtils.putLong(buf, off, row);
+ PageUtils.putLong(pageAddr, off, row);
}
/** {@inheritDoc} */
- @Override public Long getLookupRow(BPlusTree<Long,?> tree, long buf, int idx)
+ @Override public Long getLookupRow(BPlusTree<Long,?> tree, long pageAddr, int idx)
throws IgniteCheckedException {
- Long row = PageUtils.getLong(buf, offset(idx));
+ Long row = PageUtils.getLong(pageAddr, offset(idx));
checkNotRemoved(row);
@@ -1428,21 +1428,21 @@ public class BPlusTreeSelfTest extends GridCommonAbstractTest {
private static final class LongLeafIO extends BPlusLeafIO<Long> {
/**
*/
- protected LongLeafIO() {
+ LongLeafIO() {
super(LONG_LEAF_IO, 1, 8);
}
/** {@inheritDoc} */
- @Override public int getMaxCount(long buf, int pageSize) {
+ @Override public int getMaxCount(long pageAddr, int pageSize) {
if (MAX_PER_PAGE != 0)
return MAX_PER_PAGE;
- return super.getMaxCount(buf, pageSize);
+ return super.getMaxCount(pageAddr, pageSize);
}
/** {@inheritDoc} */
- @Override public void storeByOffset(long buf, int off, Long row) {
- PageUtils.putLong(buf, off, row);
+ @Override public void storeByOffset(long pageAddr, int off, Long row) {
+ PageUtils.putLong(pageAddr, off, row);
}
/** {@inheritDoc} */
@@ -1453,9 +1453,9 @@ public class BPlusTreeSelfTest extends GridCommonAbstractTest {
}
/** {@inheritDoc} */
- @Override public Long getLookupRow(BPlusTree<Long,?> tree, long buf, int idx)
+ @Override public Long getLookupRow(BPlusTree<Long,?> tree, long pageAddr, int idx)
throws IgniteCheckedException {
- return PageUtils.getLong(buf, offset(idx));
+ return PageUtils.getLong(pageAddr, offset(idx));
}
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/1038a0b4/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/H2Tree.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/H2Tree.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/H2Tree.java
index 5f9d0fa..5c60b16 100644
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/H2Tree.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/H2Tree.java
@@ -17,7 +17,6 @@
package org.apache.ignite.internal.processors.query.h2.database;
-import java.nio.ByteBuffer;
import java.util.concurrent.atomic.AtomicLong;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.internal.pagemem.PageMemory;
@@ -76,9 +75,9 @@ public abstract class H2Tree extends BPlusTree<SearchRow, GridH2Row> {
}
/** {@inheritDoc} */
- @Override protected GridH2Row getRow(BPlusIO<SearchRow> io, long buf, int idx)
+ @Override protected GridH2Row getRow(BPlusIO<SearchRow> io, long pageAddr, int idx)
throws IgniteCheckedException {
- return (GridH2Row)io.getLookupRow(this, buf, idx);
+ return (GridH2Row)io.getLookupRow(this, pageAddr, idx);
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/1038a0b4/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/H2TreeIndex.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/H2TreeIndex.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/H2TreeIndex.java
index ac39850..bbd14da 100644
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/H2TreeIndex.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/H2TreeIndex.java
@@ -87,9 +87,9 @@ public class H2TreeIndex extends GridH2IndexBase {
tree = new H2Tree(name, cctx.offheap().reuseListForIndex(name), cctx.cacheId(),
dbMgr.pageMemory(), cctx.shared().wal(), cctx.offheap().globalRemoveId(),
tbl.rowFactory(), page.pageId().pageId(), page.isAllocated()) {
- @Override protected int compare(BPlusIO<SearchRow> io, long buf, int idx, SearchRow row)
+ @Override protected int compare(BPlusIO<SearchRow> io, long pageAddr, int idx, SearchRow row)
throws IgniteCheckedException {
- return compareRows(getRow(io, buf, idx), row);
+ return compareRows(getRow(io, pageAddr, idx), row);
}
};
http://git-wip-us.apache.org/repos/asf/ignite/blob/1038a0b4/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/io/H2InnerIO.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/io/H2InnerIO.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/io/H2InnerIO.java
index e56691e..8252a69 100644
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/io/H2InnerIO.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/io/H2InnerIO.java
@@ -44,31 +44,31 @@ public class H2InnerIO extends BPlusInnerIO<SearchRow> implements H2RowLinkIO {
}
/** {@inheritDoc} */
- @Override public void storeByOffset(long buf, int off, SearchRow row) {
+ @Override public void storeByOffset(long pageAddr, int off, SearchRow row) {
GridH2Row row0 = (GridH2Row)row;
assert row0.link != 0;
- PageUtils.putLong(buf, off, row0.link);
+ PageUtils.putLong(pageAddr, off, row0.link);
}
/** {@inheritDoc} */
- @Override public SearchRow getLookupRow(BPlusTree<SearchRow,?> tree, long buf, int idx)
+ @Override public SearchRow getLookupRow(BPlusTree<SearchRow,?> tree, long pageAddr, int idx)
throws IgniteCheckedException {
- long link = getLink(buf, idx);
+ long link = getLink(pageAddr, idx);
return ((H2Tree)tree).getRowFactory().getRow(link);
}
/** {@inheritDoc} */
- @Override public void store(long dst, int dstIdx, BPlusIO<SearchRow> srcIo, long src, int srcIdx) {
- long link = ((H2RowLinkIO)srcIo).getLink(src, srcIdx);
+ @Override public void store(long dstPageAddr, int dstIdx, BPlusIO<SearchRow> srcIo, long srcPageAddr, int srcIdx) {
+ long link = ((H2RowLinkIO)srcIo).getLink(srcPageAddr, srcIdx);
- PageUtils.putLong(dst, offset(dstIdx), link);
+ PageUtils.putLong(dstPageAddr, offset(dstIdx), link);
}
/** {@inheritDoc} */
- @Override public long getLink(long buf, int idx) {
- return PageUtils.getLong(buf, offset(idx));
+ @Override public long getLink(long pageAddr, int idx) {
+ return PageUtils.getLong(pageAddr, offset(idx));
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/1038a0b4/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/io/H2LeafIO.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/io/H2LeafIO.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/io/H2LeafIO.java
index 67fe337..a24eb99 100644
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/io/H2LeafIO.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/io/H2LeafIO.java
@@ -44,31 +44,31 @@ public class H2LeafIO extends BPlusLeafIO<SearchRow> implements H2RowLinkIO {
}
/** {@inheritDoc} */
- @Override public void storeByOffset(long buf, int off, SearchRow row) {
+ @Override public void storeByOffset(long pageAddr, int off, SearchRow row) {
GridH2Row row0 = (GridH2Row)row;
assert row0.link != 0;
- PageUtils.putLong(buf, off, row0.link);
+ PageUtils.putLong(pageAddr, off, row0.link);
}
/** {@inheritDoc} */
- @Override public void store(long dst, int dstIdx, BPlusIO<SearchRow> srcIo, long src, int srcIdx) {
+ @Override public void store(long dstPageAddr, int dstIdx, BPlusIO<SearchRow> srcIo, long srcPageAddr, int srcIdx) {
assert srcIo == this;
- PageUtils.putLong(dst, offset(dstIdx), getLink(src, srcIdx));
+ PageUtils.putLong(dstPageAddr, offset(dstIdx), getLink(srcPageAddr, srcIdx));
}
/** {@inheritDoc} */
- @Override public SearchRow getLookupRow(BPlusTree<SearchRow,?> tree, long buf, int idx)
+ @Override public SearchRow getLookupRow(BPlusTree<SearchRow,?> tree, long pageAddr, int idx)
throws IgniteCheckedException {
- long link = getLink(buf, idx);
+ long link = getLink(pageAddr, idx);
return ((H2Tree)tree).getRowFactory().getRow(link);
}
/** {@inheritDoc} */
- @Override public long getLink(long buf, int idx) {
- return PageUtils.getLong(buf, offset(idx));
+ @Override public long getLink(long pageAddr, int idx) {
+ return PageUtils.getLong(pageAddr, offset(idx));
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/1038a0b4/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/io/H2RowLinkIO.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/io/H2RowLinkIO.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/io/H2RowLinkIO.java
index 852f46d..ce69197 100644
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/io/H2RowLinkIO.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/io/H2RowLinkIO.java
@@ -22,9 +22,9 @@ package org.apache.ignite.internal.processors.query.h2.database.io;
*/
public interface H2RowLinkIO {
/**
- * @param buf Buffer.
+ * @param pageAddr Page address.
* @param idx Index.
* @return Row link.
*/
- public long getLink(long buf, int idx);
+ public long getLink(long pageAddr, int idx);
}
[2/2] ignite git commit: Minor.
Posted by sb...@apache.org.
Minor.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/1038a0b4
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/1038a0b4
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/1038a0b4
Branch: refs/heads/ignite-gg-11810
Commit: 1038a0b48f1243112b8e2a019cedbb1134dbf464
Parents: b81c30a
Author: sboikov <sb...@gridgain.com>
Authored: Wed Jan 11 17:32:14 2017 +0300
Committer: sboikov <sb...@gridgain.com>
Committed: Wed Jan 11 17:32:14 2017 +0300
----------------------------------------------------------------------
.../ignite/internal/pagemem/PageMemory.java | 2 +-
.../internal/pagemem/impl/PageNoStoreImpl.java | 3 -
.../wal/record/delta/DataPageInsertRecord.java | 1 -
.../wal/record/delta/DataPageRemoveRecord.java | 1 -
.../delta/DataPageSetFreeListPageRecord.java | 1 -
.../wal/record/delta/FixCountRecord.java | 1 -
.../record/delta/FixLeftmostChildRecord.java | 1 -
.../pagemem/wal/record/delta/FixRemoveId.java | 1 -
.../wal/record/delta/InitNewPageRecord.java | 3 +-
.../wal/record/delta/InnerReplaceRecord.java | 1 -
.../delta/MetaPageUpdateLastAllocatedIndex.java | 1 -
.../internal/processors/cache/CacheObject.java | 5 +
.../processors/cache/CacheObjectAdapter.java | 7 +
.../cache/IgniteCacheOffheapManagerImpl.java | 156 +++++------
.../processors/cache/IncompleteObject.java | 13 -
.../cache/database/DataStructure.java | 9 +-
.../cache/database/MetadataStorage.java | 72 ++---
.../database/freelist/io/PagesListMetaIO.java | 66 ++---
.../database/freelist/io/PagesListNodeIO.java | 104 ++++----
.../cache/database/tree/BPlusTree.java | 263 ++++++++++---------
.../cache/database/tree/io/BPlusLeafIO.java | 1 -
.../cache/database/tree/io/BPlusMetaIO.java | 6 +-
.../cache/database/tree/io/CacheVersionIO.java | 57 ++--
.../cache/database/tree/io/IOVersions.java | 10 +-
.../cache/database/tree/io/PageIO.java | 8 +-
.../cache/database/tree/util/PageHandler.java | 7 +
.../database/tree/util/PageLockListener.java | 17 +-
.../apache/ignite/internal/util/GridUnsafe.java | 2 +-
.../IgniteIncompleteCacheObjectSelfTest.java | 2 +-
.../database/BPlusTreeReuseSelfTest.java | 18 +-
.../processors/database/BPlusTreeSelfTest.java | 62 ++---
.../processors/query/h2/database/H2Tree.java | 5 +-
.../query/h2/database/H2TreeIndex.java | 4 +-
.../query/h2/database/io/H2InnerIO.java | 18 +-
.../query/h2/database/io/H2LeafIO.java | 16 +-
.../query/h2/database/io/H2RowLinkIO.java | 4 +-
36 files changed, 471 insertions(+), 477 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/1038a0b4/modules/core/src/main/java/org/apache/ignite/internal/pagemem/PageMemory.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/PageMemory.java b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/PageMemory.java
index 1954376..cfee19f 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/PageMemory.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/PageMemory.java
@@ -26,7 +26,7 @@ import org.apache.ignite.lifecycle.LifecycleAware;
*/
public interface PageMemory extends LifecycleAware, PageIdAllocator {
/** */
- public ByteOrder NATIVE_BYTE_ORDER = ByteOrder.nativeOrder();
+ public static final ByteOrder NATIVE_BYTE_ORDER = ByteOrder.nativeOrder();
/**
* Gets the page associated with the given page ID. Each page obtained with this method must be released by
http://git-wip-us.apache.org/repos/asf/ignite/blob/1038a0b4/modules/core/src/main/java/org/apache/ignite/internal/pagemem/impl/PageNoStoreImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/impl/PageNoStoreImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/impl/PageNoStoreImpl.java
index 5908434..3d6a553 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/impl/PageNoStoreImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/impl/PageNoStoreImpl.java
@@ -20,13 +20,10 @@ package org.apache.ignite.internal.pagemem.impl;
import org.apache.ignite.internal.pagemem.FullPageId;
import org.apache.ignite.internal.pagemem.Page;
import org.apache.ignite.internal.pagemem.PageIdUtils;
-import org.apache.ignite.internal.pagemem.PageMemory;
import org.apache.ignite.internal.processors.cache.database.tree.io.PageIO;
-import org.apache.ignite.internal.util.OffheapReadWriteLock;
import org.apache.ignite.internal.util.typedef.internal.SB;
import java.nio.ByteBuffer;
-import org.jetbrains.annotations.Nullable;
/**
*
http://git-wip-us.apache.org/repos/asf/ignite/blob/1038a0b4/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 1ba22d2..95bf9d9 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
@@ -17,7 +17,6 @@
package org.apache.ignite.internal.pagemem.wal.record.delta;
-import java.nio.ByteBuffer;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.internal.processors.cache.database.tree.io.DataPageIO;
http://git-wip-us.apache.org/repos/asf/ignite/blob/1038a0b4/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 09f83b3..d0c9572 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
@@ -17,7 +17,6 @@
package org.apache.ignite.internal.pagemem.wal.record.delta;
-import java.nio.ByteBuffer;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.internal.processors.cache.database.tree.io.DataPageIO;
import org.apache.ignite.internal.util.typedef.internal.S;
http://git-wip-us.apache.org/repos/asf/ignite/blob/1038a0b4/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 19878b8..b0bb90e 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
@@ -17,7 +17,6 @@
package org.apache.ignite.internal.pagemem.wal.record.delta;
-import java.nio.ByteBuffer;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.internal.processors.cache.database.tree.io.DataPageIO;
http://git-wip-us.apache.org/repos/asf/ignite/blob/1038a0b4/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 032f634..aa23099 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
@@ -17,7 +17,6 @@
package org.apache.ignite.internal.pagemem.wal.record.delta;
-import java.nio.ByteBuffer;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.internal.processors.cache.database.tree.io.BPlusIO;
import org.apache.ignite.internal.processors.cache.database.tree.io.PageIO;
http://git-wip-us.apache.org/repos/asf/ignite/blob/1038a0b4/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 b345a43..81a8d01 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
@@ -17,7 +17,6 @@
package org.apache.ignite.internal.pagemem.wal.record.delta;
-import java.nio.ByteBuffer;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.internal.processors.cache.database.tree.io.BPlusInnerIO;
import org.apache.ignite.internal.processors.cache.database.tree.io.PageIO;
http://git-wip-us.apache.org/repos/asf/ignite/blob/1038a0b4/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 0f8fe48..b2284e5 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
@@ -17,7 +17,6 @@
package org.apache.ignite.internal.pagemem.wal.record.delta;
-import java.nio.ByteBuffer;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.internal.processors.cache.database.tree.io.BPlusIO;
import org.apache.ignite.internal.processors.cache.database.tree.io.PageIO;
http://git-wip-us.apache.org/repos/asf/ignite/blob/1038a0b4/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 ceff1b0..d1fd660 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
@@ -17,7 +17,6 @@
package org.apache.ignite.internal.pagemem.wal.record.delta;
-import java.nio.ByteBuffer;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.internal.processors.cache.database.tree.io.PageIO;
import org.apache.ignite.internal.util.tostring.GridToStringExclude;
@@ -25,7 +24,7 @@ import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.internal.util.typedef.internal.U;
/**
- * Initializes new page by calling {@link PageIO#initNewPage(ByteBuffer, long)}.
+ * Initializes new page by calling {@link PageIO#initNewPage(long, long, int)}.
*/
public class InitNewPageRecord extends PageDeltaRecord {
/** */
http://git-wip-us.apache.org/repos/asf/ignite/blob/1038a0b4/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 bad3fba..26e2499 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
@@ -17,7 +17,6 @@
package org.apache.ignite.internal.pagemem.wal.record.delta;
-import java.nio.ByteBuffer;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.IgniteException;
http://git-wip-us.apache.org/repos/asf/ignite/blob/1038a0b4/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 c505009..fe2d55d 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
@@ -17,7 +17,6 @@
package org.apache.ignite.internal.pagemem.wal.record.delta;
-import java.nio.ByteBuffer;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.internal.processors.cache.database.tree.io.PageIO;
import org.apache.ignite.internal.processors.cache.database.tree.io.PageMetaIO;
http://git-wip-us.apache.org/repos/asf/ignite/blob/1038a0b4/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheObject.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheObject.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheObject.java
index b5604cd..c226ba2 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheObject.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheObject.java
@@ -67,6 +67,11 @@ public interface CacheObject extends Message {
*/
public boolean putValue(ByteBuffer buf) throws IgniteCheckedException;
+ /**
+ * @param addr Address tp write value to.
+ * @return Number of bytes written.
+ * @throws IgniteCheckedException If failed.
+ */
public int putValue(long addr) throws IgniteCheckedException;
/**
http://git-wip-us.apache.org/repos/asf/ignite/blob/1038a0b4/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheObjectAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheObjectAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheObjectAdapter.java
index 43cb016..8a73f75 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheObjectAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheObjectAdapter.java
@@ -84,6 +84,13 @@ public abstract class CacheObjectAdapter implements CacheObject, Externalizable
return putValue(addr, cacheObjectType(), valBytes, 0);
}
+ /**
+ * @param addr Write address.
+ * @param type Object type.
+ * @param valBytes Value bytes array.
+ * @param valOff Value bytes array offset.
+ * @return
+ */
public static int putValue(long addr, byte type, byte[] valBytes, int valOff) {
int off = 0;
http://git-wip-us.apache.org/repos/asf/ignite/blob/1038a0b4/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java
index 549c545..44f3436 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java
@@ -1168,25 +1168,25 @@ public class IgniteCacheOffheapManagerImpl extends GridCacheManagerAdapter imple
}
/** {@inheritDoc} */
- @Override protected int compare(BPlusIO<KeySearchRow> io, long buf, int idx, KeySearchRow row)
+ @Override protected int compare(BPlusIO<KeySearchRow> io, long pageAddr, int idx, KeySearchRow row)
throws IgniteCheckedException {
- int hash = ((RowLinkIO)io).getHash(buf, idx);
+ int hash = ((RowLinkIO)io).getHash(pageAddr, idx);
int cmp = Integer.compare(hash, row.hash);
if (cmp != 0)
return cmp;
- long link = ((RowLinkIO)io).getLink(buf, idx);
+ long link = ((RowLinkIO)io).getLink(pageAddr, idx);
return row.compareKey(cctx, link);
}
/** {@inheritDoc} */
- @Override protected DataRow getRow(BPlusIO<KeySearchRow> io, long buf, int idx)
+ @Override protected DataRow getRow(BPlusIO<KeySearchRow> io, long pageAddr, int idx)
throws IgniteCheckedException {
- int hash = ((RowLinkIO)io).getHash(buf, idx);
- long link = ((RowLinkIO)io).getLink(buf, idx);
+ int hash = ((RowLinkIO)io).getHash(pageAddr, idx);
+ long link = ((RowLinkIO)io).getLink(pageAddr, idx);
return rowStore.dataRow(hash, link);
}
@@ -1224,14 +1224,14 @@ public class IgniteCacheOffheapManagerImpl extends GridCacheManagerAdapter imple
}
/**
- * @param buf Buffer.
+ * @param pageAddr Page address.
* @param off Offset.
* @param link Link.
* @param hash Hash.
*/
- private static void store0(long buf, int off, long link, int hash) {
- PageUtils.putLong(buf, off, link);
- PageUtils.putInt(buf, off + 8, hash);
+ private static void store0(long pageAddr, int off, long link, int hash) {
+ PageUtils.putLong(pageAddr, off, link);
+ PageUtils.putInt(pageAddr, off + 8, hash);
}
/**
@@ -1239,18 +1239,18 @@ public class IgniteCacheOffheapManagerImpl extends GridCacheManagerAdapter imple
*/
private interface RowLinkIO {
/**
- * @param buf Buffer.
+ * @param pageAddr Page address.
* @param idx Index.
* @return Row link.
*/
- public long getLink(long buf, int idx);
+ public long getLink(long pageAddr, int idx);
/**
- * @param buf Buffer.
+ * @param pageAddr Page address.
* @param idx Index.
* @return Key hash code.
*/
- public int getHash(long buf, int idx);
+ public int getHash(long pageAddr, int idx);
}
/**
@@ -1270,39 +1270,39 @@ public class IgniteCacheOffheapManagerImpl extends GridCacheManagerAdapter imple
}
/** {@inheritDoc} */
- @Override public void storeByOffset(long buf, int off, KeySearchRow row) {
+ @Override public void storeByOffset(long pageAddr, int off, KeySearchRow row) {
assert row.link() != 0;
- store0(buf, off, row.link(), row.hash);
+ store0(pageAddr, off, row.link(), row.hash);
}
/** {@inheritDoc} */
- @Override public KeySearchRow getLookupRow(BPlusTree<KeySearchRow, ?> tree, long buf, int idx) {
- int hash = getHash(buf, idx);
- long link = getLink(buf, idx);
+ @Override public KeySearchRow getLookupRow(BPlusTree<KeySearchRow, ?> tree, long pageAddr, int idx) {
+ int hash = getHash(pageAddr, idx);
+ long link = getLink(pageAddr, idx);
return ((CacheDataTree)tree).rowStore.keySearchRow(hash, link);
}
/** {@inheritDoc} */
- @Override public void store(long dst, int dstIdx, BPlusIO<KeySearchRow> srcIo, long src,
+ @Override public void store(long dstPageAddr, int dstIdx, BPlusIO<KeySearchRow> srcIo, long srcPageAddr,
int srcIdx) {
- int hash = ((RowLinkIO)srcIo).getHash(src, srcIdx);
- long link = ((RowLinkIO)srcIo).getLink(src, srcIdx);
+ int hash = ((RowLinkIO)srcIo).getHash(srcPageAddr, srcIdx);
+ long link = ((RowLinkIO)srcIo).getLink(srcPageAddr, srcIdx);
- store0(dst, offset(dstIdx), link, hash);
+ store0(dstPageAddr, offset(dstIdx), link, hash);
}
/** {@inheritDoc} */
- @Override public long getLink(long buf, int idx) {
- assert idx < getCount(buf) : idx;
+ @Override public long getLink(long pageAddr, int idx) {
+ assert idx < getCount(pageAddr) : idx;
- return PageUtils.getLong(buf, offset(idx));
+ return PageUtils.getLong(pageAddr, offset(idx));
}
/** {@inheritDoc} */
- @Override public int getHash(long buf, int idx) {
- return PageUtils.getInt(buf, offset(idx) + 8);
+ @Override public int getHash(long pageAddr, int idx) {
+ return PageUtils.getInt(pageAddr, offset(idx) + 8);
}
}
@@ -1323,16 +1323,16 @@ public class IgniteCacheOffheapManagerImpl extends GridCacheManagerAdapter imple
}
/** {@inheritDoc} */
- @Override public void storeByOffset(long buf, int off, KeySearchRow row) {
+ @Override public void storeByOffset(long pageAddr, int off, KeySearchRow row) {
assert row.link() != 0;
- store0(buf, off, row.link(), row.hash);
+ store0(pageAddr, off, row.link(), row.hash);
}
/** {@inheritDoc} */
- @Override public void store(long dst, int dstIdx, BPlusIO<KeySearchRow> srcIo, long src,
+ @Override public void store(long dstPageAddr, int dstIdx, BPlusIO<KeySearchRow> srcIo, long srcPageAddr,
int srcIdx) {
- store0(dst, offset(dstIdx), getLink(src, srcIdx), getHash(src, srcIdx));
+ store0(dstPageAddr, offset(dstIdx), getLink(srcPageAddr, srcIdx), getHash(srcPageAddr, srcIdx));
}
/** {@inheritDoc} */
@@ -1344,15 +1344,15 @@ public class IgniteCacheOffheapManagerImpl extends GridCacheManagerAdapter imple
}
/** {@inheritDoc} */
- @Override public long getLink(long buf, int idx) {
- assert idx < getCount(buf) : idx;
+ @Override public long getLink(long pageAddr, int idx) {
+ assert idx < getCount(pageAddr) : idx;
- return PageUtils.getLong(buf, offset(idx));
+ return PageUtils.getLong(pageAddr, offset(idx));
}
/** {@inheritDoc} */
- @Override public int getHash(long buf, int idx) {
- return PageUtils.getInt(buf, offset(idx) + 8);
+ @Override public int getHash(long pageAddr, int idx) {
+ return PageUtils.getInt(pageAddr, offset(idx) + 8);
}
}
@@ -1447,9 +1447,9 @@ public class IgniteCacheOffheapManagerImpl extends GridCacheManagerAdapter imple
}
/** {@inheritDoc} */
- @Override protected int compare(BPlusIO<PendingRow> io, long buf, int idx, PendingRow row)
+ @Override protected int compare(BPlusIO<PendingRow> io, long pageAddr, int idx, PendingRow row)
throws IgniteCheckedException {
- long expireTime = ((PendingRowIO)io).getExpireTime(buf, idx);
+ long expireTime = ((PendingRowIO)io).getExpireTime(pageAddr, idx);
int cmp = Long.compare(expireTime, row.expireTime);
@@ -1459,15 +1459,15 @@ public class IgniteCacheOffheapManagerImpl extends GridCacheManagerAdapter imple
if (row.link == 0L)
return 0;
- long link = ((PendingRowIO)io).getLink(buf, idx);
+ long link = ((PendingRowIO)io).getLink(pageAddr, idx);
return Long.compare(link, row.link);
}
/** {@inheritDoc} */
- @Override protected PendingRow getRow(BPlusIO<PendingRow> io, long buf, int idx)
+ @Override protected PendingRow getRow(BPlusIO<PendingRow> io, long pageAddr, int idx)
throws IgniteCheckedException {
- return io.getLookupRow(this, buf, idx);
+ return io.getLookupRow(this, pageAddr, idx);
}
}
@@ -1476,18 +1476,18 @@ public class IgniteCacheOffheapManagerImpl extends GridCacheManagerAdapter imple
*/
private interface PendingRowIO {
/**
- * @param buf Buffer.
+ * @param pageAddr Page address.
* @param idx Index.
* @return Expire time.
*/
- long getExpireTime(long buf, int idx);
+ long getExpireTime(long pageAddr, int idx);
/**
- * @param buf Buffer.
+ * @param pageAddr Page address.
* @param idx Index.
* @return Link.
*/
- long getLink(long buf, int idx);
+ long getLink(long pageAddr, int idx);
}
/**
@@ -1507,43 +1507,45 @@ public class IgniteCacheOffheapManagerImpl extends GridCacheManagerAdapter imple
}
/** {@inheritDoc} */
- @Override public void storeByOffset(long buf, int off, PendingRow row) throws IgniteCheckedException {
+ @Override public void storeByOffset(long pageAddr, int off, PendingRow row) throws IgniteCheckedException {
assert row.link != 0;
assert row.expireTime != 0;
- PageUtils.putLong(buf, off, row.expireTime);
- PageUtils.putLong(buf, off + 8, row.link);
+ PageUtils.putLong(pageAddr, off, row.expireTime);
+ PageUtils.putLong(pageAddr, off + 8, row.link);
}
/** {@inheritDoc} */
- @Override public void store(long dst,
+ @Override public void store(long dstPageAddr,
int dstIdx,
BPlusIO<PendingRow> srcIo,
- long src,
+ long srcPageAddr,
int srcIdx) throws IgniteCheckedException {
int dstOff = offset(dstIdx);
- long link = ((PendingRowIO)srcIo).getLink(src, srcIdx);
- long expireTime = ((PendingRowIO)srcIo).getExpireTime(src, srcIdx);
+ long link = ((PendingRowIO)srcIo).getLink(srcPageAddr, srcIdx);
+ long expireTime = ((PendingRowIO)srcIo).getExpireTime(srcPageAddr, srcIdx);
- PageUtils.putLong(dst, dstOff, expireTime);
- PageUtils.putLong(dst, dstOff + 8, link);
+ PageUtils.putLong(dstPageAddr, dstOff, expireTime);
+ PageUtils.putLong(dstPageAddr, dstOff + 8, link);
}
/** {@inheritDoc} */
- @Override public PendingRow getLookupRow(BPlusTree<PendingRow, ?> tree, long buf, int idx)
+ @Override public PendingRow getLookupRow(BPlusTree<PendingRow, ?> tree, long pageAddr, int idx)
throws IgniteCheckedException {
- return PendingRow.createRowWithKey(((PendingEntriesTree)tree).cctx, getExpireTime(buf, idx), getLink(buf, idx));
+ return PendingRow.createRowWithKey(((PendingEntriesTree)tree).cctx,
+ getExpireTime(pageAddr, idx),
+ getLink(pageAddr, idx));
}
/** {@inheritDoc} */
- @Override public long getExpireTime(long buf, int idx) {
- return PageUtils.getLong(buf, offset(idx));
+ @Override public long getExpireTime(long pageAddr, int idx) {
+ return PageUtils.getLong(pageAddr, offset(idx));
}
/** {@inheritDoc} */
- @Override public long getLink(long buf, int idx) {
- return PageUtils.getLong(buf, offset(idx) + 8);
+ @Override public long getLink(long pageAddr, int idx) {
+ return PageUtils.getLong(pageAddr, offset(idx) + 8);
}
}
@@ -1564,43 +1566,45 @@ public class IgniteCacheOffheapManagerImpl extends GridCacheManagerAdapter imple
}
/** {@inheritDoc} */
- @Override public void storeByOffset(long buf, int off, PendingRow row) throws IgniteCheckedException {
+ @Override public void storeByOffset(long pageAddr, int off, PendingRow row) throws IgniteCheckedException {
assert row.link != 0;
assert row.expireTime != 0;
- PageUtils.putLong(buf, off, row.expireTime);
- PageUtils.putLong(buf, off + 8, row.link);
+ PageUtils.putLong(pageAddr, off, row.expireTime);
+ PageUtils.putLong(pageAddr, off + 8, row.link);
}
/** {@inheritDoc} */
- @Override public void store(long dst,
+ @Override public void store(long dstPageAddr,
int dstIdx,
BPlusIO<PendingRow> srcIo,
- long src,
+ long srcPageAddr,
int srcIdx) throws IgniteCheckedException {
int dstOff = offset(dstIdx);
- long link = ((PendingRowIO)srcIo).getLink(src, srcIdx);
- long expireTime = ((PendingRowIO)srcIo).getExpireTime(src, srcIdx);
+ long link = ((PendingRowIO)srcIo).getLink(srcPageAddr, srcIdx);
+ long expireTime = ((PendingRowIO)srcIo).getExpireTime(srcPageAddr, srcIdx);
- PageUtils.putLong(dst, dstOff, expireTime);
- PageUtils.putLong(dst, dstOff + 8, link);
+ PageUtils.putLong(dstPageAddr, dstOff, expireTime);
+ PageUtils.putLong(dstPageAddr, dstOff + 8, link);
}
/** {@inheritDoc} */
- @Override public PendingRow getLookupRow(BPlusTree<PendingRow, ?> tree, long buf, int idx)
+ @Override public PendingRow getLookupRow(BPlusTree<PendingRow, ?> tree, long pageAddr, int idx)
throws IgniteCheckedException {
- return PendingRow.createRowWithKey(((PendingEntriesTree)tree).cctx, getExpireTime(buf, idx), getLink(buf, idx));
+ return PendingRow.createRowWithKey(((PendingEntriesTree)tree).cctx,
+ getExpireTime(pageAddr, idx),
+ getLink(pageAddr, idx));
}
/** {@inheritDoc} */
- @Override public long getExpireTime(long buf, int idx) {
- return PageUtils.getLong(buf, offset(idx));
+ @Override public long getExpireTime(long pageAddr, int idx) {
+ return PageUtils.getLong(pageAddr, offset(idx));
}
/** {@inheritDoc} */
- @Override public long getLink(long buf, int idx) {
- return PageUtils.getLong(buf, offset(idx) + 8);
+ @Override public long getLink(long pageAddr, int idx) {
+ return PageUtils.getLong(pageAddr, offset(idx) + 8);
}
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/1038a0b4/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IncompleteObject.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IncompleteObject.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IncompleteObject.java
index ce0e306..666fc27 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IncompleteObject.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IncompleteObject.java
@@ -18,7 +18,6 @@
package org.apache.ignite.internal.processors.cache;
import java.nio.ByteBuffer;
-import org.apache.ignite.internal.pagemem.PageUtils;
/**
* Incomplete object.
@@ -87,16 +86,4 @@ public class IncompleteObject<T> {
off += len;
}
-
- public int readData(long buf, int remaining) {
- assert data != null;
-
- final int len = Math.min(data.length - off, remaining);
-
- PageUtils.getBytes(buf, 0, data, off, len);
-
- off += len;
-
- return len;
- }
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/1038a0b4/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/DataStructure.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/DataStructure.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/DataStructure.java
index 7997e6f..f47a697 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/DataStructure.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/DataStructure.java
@@ -17,7 +17,6 @@
package org.apache.ignite.internal.processors.cache.database;
-import java.nio.ByteBuffer;
import java.util.Random;
import java.util.concurrent.ThreadLocalRandom;
import org.apache.ignite.IgniteCheckedException;
@@ -184,12 +183,12 @@ public abstract class DataStructure implements PageLockListener {
}
/** {@inheritDoc} */
- @Override public void onWriteLock(Page page, long buf) {
+ @Override public void onWriteLock(Page page, long pageAddr) {
// No-op.
}
/** {@inheritDoc} */
- @Override public void onWriteUnlock(Page page, long buf) {
+ @Override public void onWriteUnlock(Page page, long pageAddr) {
// No-op.
}
@@ -199,12 +198,12 @@ public abstract class DataStructure implements PageLockListener {
}
/** {@inheritDoc} */
- @Override public void onReadLock(Page page, long buf) {
+ @Override public void onReadLock(Page page, long pageAddr) {
// No-op.
}
/** {@inheritDoc} */
- @Override public void onReadUnlock(Page page, long buf) {
+ @Override public void onReadUnlock(Page page, long pageAddr) {
// No-op.
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/1038a0b4/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/MetadataStorage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/MetadataStorage.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/MetadataStorage.java
index d1d5ba9..6d7b60c 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/MetadataStorage.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/MetadataStorage.java
@@ -191,19 +191,19 @@ public class MetadataStorage implements MetaStore {
}
/** {@inheritDoc} */
- @Override protected int compare(final BPlusIO<IndexItem> io, final long buf, final int idx,
+ @Override protected int compare(final BPlusIO<IndexItem> io, final long pageAddr, final int idx,
final IndexItem row) throws IgniteCheckedException {
final int off = ((IndexIO)io).getOffset(idx);
int shift = 0;
// Compare index names.
- final byte len = PageUtils.getByte(buf, off + shift);
+ final byte len = PageUtils.getByte(pageAddr, off + shift);
shift += BYTE_LEN;
for (int i = 0; i < len && i < row.idxName.length; i++) {
- final int cmp = Byte.compare(PageUtils.getByte(buf, off + i + shift), row.idxName[i]);
+ final int cmp = Byte.compare(PageUtils.getByte(pageAddr, off + i + shift), row.idxName[i]);
if (cmp != 0)
return cmp;
@@ -213,9 +213,9 @@ public class MetadataStorage implements MetaStore {
}
/** {@inheritDoc} */
- @Override protected IndexItem getRow(final BPlusIO<IndexItem> io, final long buf,
+ @Override protected IndexItem getRow(final BPlusIO<IndexItem> io, final long pageAddr,
final int idx) throws IgniteCheckedException {
- return readRow(buf, ((IndexIO)io).getOffset(idx));
+ return readRow(pageAddr, ((IndexIO)io).getOffset(idx));
}
}
@@ -247,74 +247,74 @@ public class MetadataStorage implements MetaStore {
/**
* Store row to buffer.
*
- * @param buf Buffer.
+ * @param pageAddr Page address.
* @param off Offset in buf.
* @param row Row to store.
*/
private static void storeRow(
- final long buf,
+ final long pageAddr,
int off,
final IndexItem row
) {
// Index name length.
- PageUtils.putByte(buf, off, (byte)row.idxName.length);
+ PageUtils.putByte(pageAddr, off, (byte)row.idxName.length);
off++;
// Index name.
- PageUtils.putBytes(buf, off, row.idxName);
+ PageUtils.putBytes(pageAddr, off, row.idxName);
off += row.idxName.length;
// Page ID.
- PageUtils.putLong(buf, off, row.pageId);
+ PageUtils.putLong(pageAddr, off, row.pageId);
}
/**
* Copy row data.
*
- * @param dst Destination buffer.
+ * @param dstPageAddr Destination page address.
* @param dstOff Destination buf offset.
- * @param src Source buffer.
+ * @param srcPageAddr Source page address.
* @param srcOff Src buf offset.
*/
private static void storeRow(
- final long dst,
+ final long dstPageAddr,
int dstOff,
- final long src,
+ final long srcPageAddr,
int srcOff
) {
// Index name length.
- final byte len = PageUtils.getByte(src, srcOff);
+ final byte len = PageUtils.getByte(srcPageAddr, srcOff);
srcOff++;
- PageUtils.putByte(dst, dstOff, len);
+ PageUtils.putByte(dstPageAddr, dstOff, len);
dstOff++;
- PageHandler.copyMemory(src, srcOff, dst, dstOff, len);
+ PageHandler.copyMemory(srcPageAddr, srcOff, dstPageAddr, dstOff, len);
srcOff += len;
dstOff += len;
// Page ID.
- PageUtils.putLong(dst, dstOff, PageUtils.getLong(src, srcOff));
+ PageUtils.putLong(dstPageAddr, dstOff, PageUtils.getLong(srcPageAddr, srcOff));
}
/**
* Read row from buffer.
*
- * @param buf Buffer to read.
- * @param off Offset in buf.
+ * @param pageAddr Page address.
+ * @param off Offset.
* @return Read row.
*/
- private static IndexItem readRow(final long buf, int off) {
+ private static IndexItem readRow(final long pageAddr, int off) {
// Index name length.
- final int len = PageUtils.getByte(buf, off) & 0xFF;
+ final int len = PageUtils.getByte(pageAddr, off) & 0xFF;
off++;
// Index name.
- final byte[] idxName = PageUtils.getBytes(buf, off, len);
+ final byte[] idxName = PageUtils.getBytes(pageAddr, off, len);
off += len;
// Page ID.
- final long pageId = PageUtils.getLong(buf, off);
+ final long pageId = PageUtils.getLong(pageAddr, off);
return new IndexItem(idxName, pageId);
}
@@ -348,21 +348,21 @@ public class MetadataStorage implements MetaStore {
}
/** {@inheritDoc} */
- @Override public void storeByOffset(long buf, int off, IndexItem row) throws IgniteCheckedException {
- storeRow(buf, off, row);
+ @Override public void storeByOffset(long pageAddr, int off, IndexItem row) throws IgniteCheckedException {
+ storeRow(pageAddr, off, row);
}
/** {@inheritDoc} */
- @Override public void store(final long dst, final int dstIdx, final BPlusIO<IndexItem> srcIo,
- final long src,
+ @Override public void store(final long dstPageAddr, final int dstIdx, final BPlusIO<IndexItem> srcIo,
+ final long srcPageAddr,
final int srcIdx) throws IgniteCheckedException {
- storeRow(dst, offset(dstIdx), src, ((IndexIO)srcIo).getOffset(srcIdx));
+ storeRow(dstPageAddr, offset(dstIdx), srcPageAddr, ((IndexIO)srcIo).getOffset(srcIdx));
}
/** {@inheritDoc} */
- @Override public IndexItem getLookupRow(final BPlusTree<IndexItem, ?> tree, final long buf,
+ @Override public IndexItem getLookupRow(final BPlusTree<IndexItem, ?> tree, final long pageAddr,
final int idx) throws IgniteCheckedException {
- return readRow(buf, offset(idx));
+ return readRow(pageAddr, offset(idx));
}
/** {@inheritDoc} */
@@ -394,19 +394,19 @@ public class MetadataStorage implements MetaStore {
}
/** {@inheritDoc} */
- @Override public void store(final long dst,
+ @Override public void store(final long dstPageAddr,
final int dstIdx,
final BPlusIO<IndexItem> srcIo,
- final long src,
+ final long srcPageAddr,
final int srcIdx) throws IgniteCheckedException {
- storeRow(dst, offset(dstIdx), src, ((IndexIO)srcIo).getOffset(srcIdx));
+ storeRow(dstPageAddr, offset(dstIdx), srcPageAddr, ((IndexIO)srcIo).getOffset(srcIdx));
}
/** {@inheritDoc} */
@Override public IndexItem getLookupRow(final BPlusTree<IndexItem, ?> tree,
- final long buf,
+ final long pageAddr,
final int idx) throws IgniteCheckedException {
- return readRow(buf, offset(idx));
+ return readRow(pageAddr, offset(idx));
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/1038a0b4/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/freelist/io/PagesListMetaIO.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/freelist/io/PagesListMetaIO.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/freelist/io/PagesListMetaIO.java
index 67e2667..6bd50a3 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/freelist/io/PagesListMetaIO.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/freelist/io/PagesListMetaIO.java
@@ -53,67 +53,67 @@ public class PagesListMetaIO extends PageIO {
}
/** {@inheritDoc} */
- @Override public void initNewPage(long buf, long pageId, int pageSize) {
- super.initNewPage(buf, pageId, pageSize);
+ @Override public void initNewPage(long pageAddr, long pageId, int pageSize) {
+ super.initNewPage(pageAddr, pageId, pageSize);
- setCount(buf, 0);
- setNextMetaPageId(buf, 0L);
+ setCount(pageAddr, 0);
+ setNextMetaPageId(pageAddr, 0L);
}
/**
- * @param buf Buffer.
+ * @param pageAddr Page address.
* @return Stored items count.
*/
- private int getCount(long buf) {
- return PageUtils.getShort(buf, CNT_OFF);
+ private int getCount(long pageAddr) {
+ return PageUtils.getShort(pageAddr, CNT_OFF);
}
/**
- * @param buf Buffer,
+ * @param pageAddr Page address.
* @param cnt Stored items count.
*/
- private void setCount(long buf, int cnt) {
+ private void setCount(long pageAddr, int cnt) {
assert cnt >= 0 && cnt <= Short.MAX_VALUE : cnt;
- PageUtils.putShort(buf, CNT_OFF, (short)cnt);
+ PageUtils.putShort(pageAddr, CNT_OFF, (short)cnt);
}
/**
- * @param buf Buffer.
+ * @param pageAddr Page address.
* @return Next meta page ID.
*/
- public long getNextMetaPageId(long buf) {
- return PageUtils.getLong(buf, NEXT_META_PAGE_OFF);
+ public long getNextMetaPageId(long pageAddr) {
+ return PageUtils.getLong(pageAddr, NEXT_META_PAGE_OFF);
}
/**
- * @param buf Buffer.
+ * @param pageAddr Page address.
* @param metaPageId Next meta page ID.
*/
- public void setNextMetaPageId(long buf, long metaPageId) {
- PageUtils.putLong(buf, NEXT_META_PAGE_OFF, metaPageId);
+ public void setNextMetaPageId(long pageAddr, long metaPageId) {
+ PageUtils.putLong(pageAddr, NEXT_META_PAGE_OFF, metaPageId);
}
/**
- * @param buf Buffer.
+ * @param pageAddr Page address.
*/
- public void resetCount(long buf) {
- setCount(buf, 0);
+ public void resetCount(long pageAddr) {
+ setCount(pageAddr, 0);
}
/**
* @param pageSize Page size.
- * @param buf Buffer.
+ * @param pageAddr Page address.
* @param bucket Bucket number.
* @param tails Tails.
* @param tailsOff Tails offset.
* @return Number of items written.
*/
- public int addTails(int pageSize, long buf, int bucket, PagesList.Stripe[] tails, int tailsOff) {
+ public int addTails(int pageSize, long pageAddr, int bucket, PagesList.Stripe[] tails, int tailsOff) {
assert bucket >= 0 && bucket <= Short.MAX_VALUE : bucket;
- int cnt = getCount(buf);
- int cap = getCapacity(pageSize, buf);
+ int cnt = getCount(pageAddr);
+ int cap = getCapacity(pageSize, pageAddr);
if (cnt == cap)
return 0;
@@ -123,25 +123,25 @@ public class PagesListMetaIO extends PageIO {
int write = Math.min(cap - cnt, tails.length - tailsOff);
for (int i = 0; i < write; i++) {
- PageUtils.putShort(buf, off, (short)bucket);
- PageUtils.putLong(buf, off + 2, tails[tailsOff].tailId);
+ PageUtils.putShort(pageAddr, off, (short)bucket);
+ PageUtils.putLong(pageAddr, off + 2, tails[tailsOff].tailId);
tailsOff++;
off += ITEM_SIZE;
}
- setCount(buf, cnt + write);
+ setCount(pageAddr, cnt + write);
return write;
}
/**
- * @param buf Buffer.
+ * @param pageAddr Page address.
* @param res Results map.
*/
- public void getBucketsData(long buf, Map<Integer, GridLongList> res) {
- int cnt = getCount(buf);
+ public void getBucketsData(long pageAddr, Map<Integer, GridLongList> res) {
+ int cnt = getCount(pageAddr);
assert cnt >= 0 && cnt <= Short.MAX_VALUE : cnt;
@@ -151,10 +151,10 @@ public class PagesListMetaIO extends PageIO {
int off = offset(0);
for (int i = 0; i < cnt; i++) {
- Integer bucket = (int)PageUtils.getShort(buf, off);
+ Integer bucket = (int)PageUtils.getShort(pageAddr, off);
assert bucket >= 0 && bucket <= Short.MAX_VALUE : bucket;
- long tailId = PageUtils.getLong(buf, off + 2);
+ long tailId = PageUtils.getLong(pageAddr, off + 2);
assert tailId != 0;
GridLongList list = res.get(bucket);
@@ -169,10 +169,10 @@ public class PagesListMetaIO extends PageIO {
}
/**
- * @param buf Buffer.
+ * @param pageAddr Page address.
* @return Maximum number of items which can be stored in buffer.
*/
- private int getCapacity(int pageSize, long buf) {
+ private int getCapacity(int pageSize, long pageAddr) {
return (pageSize - ITEMS_OFF) / ITEM_SIZE;
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/1038a0b4/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/freelist/io/PagesListNodeIO.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/freelist/io/PagesListNodeIO.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/freelist/io/PagesListNodeIO.java
index ad48bc1..6bd0532 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/freelist/io/PagesListNodeIO.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/freelist/io/PagesListNodeIO.java
@@ -52,74 +52,74 @@ public class PagesListNodeIO extends PageIO {
}
/** {@inheritDoc} */
- @Override public void initNewPage(long buf, long pageId, int pageSize) {
- super.initNewPage(buf, pageId, pageSize);
+ @Override public void initNewPage(long pageAddr, long pageId, int pageSize) {
+ super.initNewPage(pageAddr, pageId, pageSize);
- setEmpty(buf);
+ setEmpty(pageAddr);
- setPreviousId(buf, 0L);
- setNextId(buf, 0L);
+ setPreviousId(pageAddr, 0L);
+ setNextId(pageAddr, 0L);
}
/**
- * @param buf Buffer.
+ * @param pageAddr Page address.
*/
- private void setEmpty(long buf) {
- setCount(buf, 0);
+ private void setEmpty(long pageAddr) {
+ setCount(pageAddr, 0);
}
/**
- * @param buf Buffer.
+ * @param pageAddr Page address.
* @return Next page ID.
*/
- public long getNextId(long buf) {
- return PageUtils.getLong(buf, NEXT_PAGE_ID_OFF);
+ public long getNextId(long pageAddr) {
+ return PageUtils.getLong(pageAddr, NEXT_PAGE_ID_OFF);
}
/**
- * @param buf Buffer.
+ * @param pageAddr Page address.
* @param nextId Next page ID.
*/
- public void setNextId(long buf, long nextId) {
- PageUtils.putLong(buf, NEXT_PAGE_ID_OFF, nextId);
+ public void setNextId(long pageAddr, long nextId) {
+ PageUtils.putLong(pageAddr, NEXT_PAGE_ID_OFF, nextId);
}
/**
- * @param buf Buffer.
+ * @param pageAddr Page address.
* @return Previous page ID.
*/
- public long getPreviousId(long buf) {
- return PageUtils.getLong(buf, PREV_PAGE_ID_OFF);
+ public long getPreviousId(long pageAddr) {
+ return PageUtils.getLong(pageAddr, PREV_PAGE_ID_OFF);
}
/**
- * @param buf Page buffer.
+ * @param pageAddr Page address.
* @param prevId Previous page ID.
*/
- public void setPreviousId(long buf, long prevId) {
- PageUtils.putLong(buf, PREV_PAGE_ID_OFF, prevId);
+ public void setPreviousId(long pageAddr, long prevId) {
+ PageUtils.putLong(pageAddr, PREV_PAGE_ID_OFF, prevId);
}
/**
* Gets total count of entries in this page. Does not change the buffer state.
*
- * @param buf Page buffer to get count from.
+ * @param pageAddr Page address to get count from.
* @return Total number of entries.
*/
- public int getCount(long buf) {
- return PageUtils.getShort(buf, CNT_OFF);
+ public int getCount(long pageAddr) {
+ return PageUtils.getShort(pageAddr, CNT_OFF);
}
/**
* Sets total count of entries in this page. Does not change the buffer state.
*
- * @param buf Page buffer to write to.
+ * @param pageAddr Page address to write to.
* @param cnt Count.
*/
- private void setCount(long buf, int cnt) {
+ private void setCount(long pageAddr, int cnt) {
assert cnt >= 0 && cnt <= Short.MAX_VALUE : cnt;
- PageUtils.putShort(buf, CNT_OFF, (short)cnt);
+ PageUtils.putShort(pageAddr, CNT_OFF, (short)cnt);
}
/**
@@ -141,39 +141,39 @@ public class PagesListNodeIO extends PageIO {
}
/**
- * @param buf Page buffer.
+ * @param pageAddr Page address.
* @param idx Item index.
* @return Item at the given index.
*/
- private long getAt(long buf, int idx) {
- return PageUtils.getLong(buf, offset(idx));
+ private long getAt(long pageAddr, int idx) {
+ return PageUtils.getLong(pageAddr, offset(idx));
}
/**
- * @param buf Buffer.
+ * @param pageAddr Page address.
* @param idx Item index.
* @param pageId Item value to write.
*/
- private void setAt(long buf, int idx, long pageId) {
- PageUtils.putLong(buf, offset(idx), pageId);
+ private void setAt(long pageAddr, int idx, long pageId) {
+ PageUtils.putLong(pageAddr, offset(idx), pageId);
}
/**
* Adds page to the end of pages list.
*
- * @param buf Page buffer.
+ * @param pageAddr Page address.
* @param pageId Page ID.
* @param pageSize Page size.
* @return Total number of items in this page.
*/
- public int addPage(long buf, long pageId, int pageSize) {
- int cnt = getCount(buf);
+ public int addPage(long pageAddr, long pageId, int pageSize) {
+ int cnt = getCount(pageAddr);
if (cnt == getCapacity(pageSize))
return -1;
- setAt(buf, cnt, pageId);
- setCount(buf, cnt + 1);
+ setAt(pageAddr, cnt, pageId);
+ setCount(pageAddr, cnt + 1);
return cnt;
}
@@ -181,38 +181,38 @@ public class PagesListNodeIO extends PageIO {
/**
* Removes any page from the pages list.
*
- * @param buf Page buffer.
+ * @param pageAddr Page address.
* @return Removed page ID.
*/
- public long takeAnyPage(long buf) {
- int cnt = getCount(buf);
+ public long takeAnyPage(long pageAddr) {
+ int cnt = getCount(pageAddr);
if (cnt == 0)
return 0L;
- setCount(buf, --cnt);
+ setCount(pageAddr, --cnt);
- return getAt(buf, cnt);
+ return getAt(pageAddr, cnt);
}
/**
* Removes the given page ID from the pages list.
*
- * @param buf Page buffer.
+ * @param pageAddr Page address.
* @param dataPageId Page ID to remove.
* @return {@code true} if page was in the list and was removed, {@code false} otherwise.
*/
- public boolean removePage(long buf, long dataPageId) {
+ public boolean removePage(long pageAddr, long dataPageId) {
assert dataPageId != 0;
- int cnt = getCount(buf);
+ int cnt = getCount(pageAddr);
for (int i = 0; i < cnt; i++) {
- if (getAt(buf, i) == dataPageId) {
+ if (getAt(pageAddr, i) == dataPageId) {
if (i != cnt - 1)
- copyMemory(buf, buf, offset(i + 1), offset(i), 8 * (cnt - i - 1));
+ copyMemory(pageAddr, pageAddr, offset(i + 1), offset(i), 8 * (cnt - i - 1));
- setCount(buf, cnt - 1);
+ setCount(pageAddr, cnt - 1);
return true;
}
@@ -222,10 +222,10 @@ public class PagesListNodeIO extends PageIO {
}
/**
- * @param buf Page buffer.
- * @return {@code true} if there are no items in this page.
+ * @param pageAddr Page address.
+ * @return {@code True} if there are no items in this page.
*/
- public boolean isEmpty(long buf) {
- return getCount(buf) == 0;
+ public boolean isEmpty(long pageAddr) {
+ return getCount(pageAddr) == 0;
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/1038a0b4/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/BPlusTree.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/BPlusTree.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/BPlusTree.java
index c136799..e2b261c 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/BPlusTree.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/BPlusTree.java
@@ -1043,18 +1043,18 @@ public abstract class BPlusTree<L, T extends L> extends DataStructure {
long leftmostChildId;
try (Page page = page(pageId)) {
- long buf = readLock(page); // No correctness guaranties.
+ long pageAddr = readLock(page); // No correctness guaranties.
try {
- BPlusIO<L> io = io(buf);
+ BPlusIO<L> io = io(pageAddr);
if (io.isLeaf())
fail("Leaf.");
- leftmostChildId = inner(io).getLeft(buf, 0);
+ leftmostChildId = inner(io).getLeft(pageAddr, 0);
}
finally {
- readUnlock(page, buf);
+ readUnlock(page, pageAddr);
}
}
@@ -1135,34 +1135,34 @@ public abstract class BPlusTree<L, T extends L> extends DataStructure {
/**
* @param io IO.
- * @param buf Buffer.
+ * @param pageAddr Page address.
* @param keys Keys.
* @return String.
* @throws IgniteCheckedException If failed.
*/
- private String printPage(BPlusIO<L> io, long buf, boolean keys) throws IgniteCheckedException {
+ private String printPage(BPlusIO<L> io, long pageAddr, boolean keys) throws IgniteCheckedException {
StringBuilder b = new StringBuilder();
- b.append(formatPageId(PageIO.getPageId(buf)));
+ b.append(formatPageId(PageIO.getPageId(pageAddr)));
b.append(" [ ");
b.append(io.isLeaf() ? "L " : "I ");
- int cnt = io.getCount(buf);
- long fwdId = io.getForward(buf);
+ int cnt = io.getCount(pageAddr);
+ long fwdId = io.getForward(pageAddr);
b.append("cnt=").append(cnt).append(' ');
b.append("fwd=").append(formatPageId(fwdId)).append(' ');
if (!io.isLeaf()) {
- b.append("lm=").append(formatPageId(inner(io).getLeft(buf, 0))).append(' ');
+ b.append("lm=").append(formatPageId(inner(io).getLeft(pageAddr, 0))).append(' ');
if (cnt > 0)
- b.append("rm=").append(formatPageId(inner(io).getRight(buf, cnt - 1))).append(' ');
+ b.append("rm=").append(formatPageId(inner(io).getRight(pageAddr, cnt - 1))).append(' ');
}
if (keys)
- b.append("keys=").append(printPageKeys(io, buf)).append(' ');
+ b.append("keys=").append(printPageKeys(io, pageAddr)).append(' ');
b.append(']');
@@ -1171,12 +1171,12 @@ public abstract class BPlusTree<L, T extends L> extends DataStructure {
/**
* @param io IO.
- * @param buf Buffer.
+ * @param pageAddr Page address.
* @return Keys as String.
* @throws IgniteCheckedException If failed.
*/
- private String printPageKeys(BPlusIO<L> io, long buf) throws IgniteCheckedException {
- int cnt = io.getCount(buf);
+ private String printPageKeys(BPlusIO<L> io, long pageAddr) throws IgniteCheckedException {
+ int cnt = io.getCount(pageAddr);
StringBuilder b = new StringBuilder();
@@ -1186,7 +1186,7 @@ public abstract class BPlusTree<L, T extends L> extends DataStructure {
if (i != 0)
b.append(',');
- b.append(io.isLeaf() || canGetRowFromInner ? getRow(io, buf, i) : io.getLookupRow(this, buf, i));
+ b.append(io.isLeaf() || canGetRowFromInner ? getRow(io, pageAddr, i) : io.getLookupRow(this, pageAddr, i));
}
b.append(']');
@@ -1655,39 +1655,38 @@ public abstract class BPlusTree<L, T extends L> extends DataStructure {
/**
* @return {@code True} if state was changed.
*/
- protected final boolean markDestroyed() {
+ private final boolean markDestroyed() {
return destroyed.compareAndSet(false, true);
}
/**
- * @param metaBuf Meta page buffer.
+ * @param pageAddr Meta page address.
* @return First page IDs.
*/
- protected Iterable<Long> getFirstPageIds(long metaBuf) {
- List<Long> result = new ArrayList<>();
+ protected Iterable<Long> getFirstPageIds(long pageAddr) {
+ List<Long> res = new ArrayList<>();
- BPlusMetaIO mio = BPlusMetaIO.VERSIONS.forPage(metaBuf);
+ BPlusMetaIO mio = BPlusMetaIO.VERSIONS.forPage(pageAddr);
- for (int lvl = mio.getRootLevel(metaBuf); lvl >= 0; lvl--) {
- result.add(mio.getFirstPageId(metaBuf, lvl));
- }
+ for (int lvl = mio.getRootLevel(pageAddr); lvl >= 0; lvl--)
+ res.add(mio.getFirstPageId(pageAddr, lvl));
- return result;
+ return res;
}
/**
* @param pageId Page ID.
* @param page Page.
- * @param buf Buffer.
+ * @param pageAddr Page address.
* @return Recycled page ID.
* @throws IgniteCheckedException If failed.
*/
- private long recyclePage(long pageId, Page page, long buf) throws IgniteCheckedException {
+ private long recyclePage(long pageId, Page page, long pageAddr) throws IgniteCheckedException {
// Rotate page ID to avoid concurrency issues with reused pages.
pageId = PageIdUtils.rotatePageId(pageId);
// Update page ID inside of the buffer, Page.id() will always return the original page ID.
- PageIO.setPageId(buf, pageId);
+ PageIO.setPageId(pageAddr, pageId);
if (needWalDeltaRecord(page))
wal.log(new RecycleRecord(cacheId, page.id(), pageId));
@@ -1743,11 +1742,11 @@ public abstract class BPlusTree<L, T extends L> extends DataStructure {
/**
* @param page Page.
- * @param buf Buffer.
+ * @param pageAddr Page address.
*/
- private void writeUnlockAndClose(Page page, long buf) {
+ private void writeUnlockAndClose(Page page, long pageAddr) {
try {
- writeUnlock(page, buf, true);
+ writeUnlock(page, pageAddr, true);
}
finally {
page.close();
@@ -1861,25 +1860,25 @@ public abstract class BPlusTree<L, T extends L> extends DataStructure {
/**
* @param io IO.
- * @param buf Buffer.
+ * @param pageAddr Page address.
* @param back Backward page.
* @return Page ID.
*/
- private long doAskNeighbor(BPlusIO<L> io, long buf, boolean back) {
+ private long doAskNeighbor(BPlusIO<L> io, long pageAddr, boolean back) {
long res;
if (back) {
// Count can be 0 here if it is a routing page, in this case we have a single child.
- int cnt = io.getCount(buf);
+ int cnt = io.getCount(pageAddr);
// We need to do get the rightmost child: io.getRight(cnt - 1),
// here io.getLeft(cnt) is the same, but handles negative index if count is 0.
- res = inner(io).getLeft(buf, cnt);
+ res = inner(io).getLeft(pageAddr, cnt);
}
else // Leftmost child.
- res = inner(io).getLeft(buf, 0);
+ res = inner(io).getLeft(pageAddr, 0);
- assert res != 0 : "inner page with no route down: " + U.hexLong(PageIO.getPageId(buf));
+ assert res != 0 : "inner page with no route down: " + U.hexLong(PageIO.getPageId(pageAddr));
return res;
}
@@ -1974,13 +1973,13 @@ public abstract class BPlusTree<L, T extends L> extends DataStructure {
/**
* @param io IO.
- * @param buf Buffer.
+ * @param pageAddr Page address.
* @param idx Index of found entry.
* @param lvl Level.
* @return {@code true} If we need to stop.
* @throws IgniteCheckedException If failed.
*/
- boolean found(BPlusIO<L> io, long buf, int idx, int lvl) throws IgniteCheckedException {
+ boolean found(BPlusIO<L> io, long pageAddr, int idx, int lvl) throws IgniteCheckedException {
assert lvl >= 0;
return lvl == 0; // Stop if we are at the bottom.
@@ -1988,13 +1987,13 @@ public abstract class BPlusTree<L, T extends L> extends DataStructure {
/**
* @param io IO.
- * @param buf Buffer.
+ * @param pageAddr Page address.
* @param idx Insertion point.
* @param lvl Level.
* @return {@code true} If we need to stop.
* @throws IgniteCheckedException If failed.
*/
- boolean notFound(BPlusIO<L> io, long buf, int idx, int lvl) throws IgniteCheckedException {
+ boolean notFound(BPlusIO<L> io, long pageAddr, int idx, int lvl) throws IgniteCheckedException {
assert lvl >= 0;
return lvl == 0; // Stop if we are at the bottom.
@@ -2032,12 +2031,12 @@ public abstract class BPlusTree<L, T extends L> extends DataStructure {
}
/** {@inheritDoc} */
- @Override boolean found(BPlusIO<L> io, long buf, int idx, int lvl) throws IgniteCheckedException {
+ @Override boolean found(BPlusIO<L> io, long pageAddr, int idx, int lvl) throws IgniteCheckedException {
// Check if we are on an inner page and can't get row from it.
if (lvl != 0 && !canGetRowFromInner)
return false;
- row = getRow(io, buf, idx);
+ row = getRow(io, pageAddr, idx);
return true;
}
@@ -2065,16 +2064,16 @@ public abstract class BPlusTree<L, T extends L> extends DataStructure {
}
/** {@inheritDoc} */
- @Override boolean found(BPlusIO<L> io, long buf, int idx, int lvl) throws IgniteCheckedException {
+ @Override boolean found(BPlusIO<L> io, long pageAddr, int idx, int lvl) throws IgniteCheckedException {
throw new IllegalStateException(); // Must never be called because we always have a shift.
}
/** {@inheritDoc} */
- @Override boolean notFound(BPlusIO<L> io, long buf, int idx, int lvl) throws IgniteCheckedException {
+ @Override boolean notFound(BPlusIO<L> io, long pageAddr, int idx, int lvl) throws IgniteCheckedException {
if (lvl != 0)
return false;
- cursor.init(buf, io, idx);
+ cursor.init(pageAddr, io, idx);
return true;
}
@@ -2098,7 +2097,7 @@ public abstract class BPlusTree<L, T extends L> extends DataStructure {
private Page tail;
/** */
- private long tailBuf;
+ private long tailPageAddr;
/**
* Bottom level for insertion (insert can't go deeper). Will be incremented on split on each level.
@@ -2122,7 +2121,7 @@ public abstract class BPlusTree<L, T extends L> extends DataStructure {
}
/** {@inheritDoc} */
- @Override boolean found(BPlusIO<L> io, long buf, int idx, int lvl) {
+ @Override boolean found(BPlusIO<L> io, long pageAddr, int idx, int lvl) {
if (lvl == 0) // Leaf: need to stop.
return true;
@@ -2136,7 +2135,7 @@ public abstract class BPlusTree<L, T extends L> extends DataStructure {
}
/** {@inheritDoc} */
- @Override boolean notFound(BPlusIO<L> io, long buf, int idx, int lvl) {
+ @Override boolean notFound(BPlusIO<L> io, long pageAddr, int idx, int lvl) {
assert btmLvl >= 0 : btmLvl;
assert lvl >= btmLvl : lvl;
@@ -2145,16 +2144,16 @@ public abstract class BPlusTree<L, T extends L> extends DataStructure {
/**
* @param tail Tail page.
- * @param tailBuf Tail buffer.
+ * @param tailPageAddr Tail page address.
*/
- private void tail(Page tail, long tailBuf) {
- assert (tail == null) == (tailBuf == 0L);
+ private void tail(Page tail, long tailPageAddr) {
+ assert (tail == null) == (tailPageAddr == 0L);
if (this.tail != null)
- writeUnlockAndClose(this.tail, this.tailBuf);
+ writeUnlockAndClose(this.tail, this.tailPageAddr);
this.tail = tail;
- this.tailBuf = tailBuf;
+ this.tailPageAddr = tailPageAddr;
}
/** {@inheritDoc} */
@@ -2182,21 +2181,21 @@ public abstract class BPlusTree<L, T extends L> extends DataStructure {
/**
* @param page Page.
* @param io IO.
- * @param buf Buffer.
+ * @param pageAddr Page address.
* @param idx Index.
* @param lvl Level.
* @return Move up row.
* @throws IgniteCheckedException If failed.
*/
- private L insert(Page page, BPlusIO<L> io, long buf, int idx, int lvl)
+ private L insert(Page page, BPlusIO<L> io, long pageAddr, int idx, int lvl)
throws IgniteCheckedException {
- int maxCnt = io.getMaxCount(buf, pageSize());
- int cnt = io.getCount(buf);
+ int maxCnt = io.getMaxCount(pageAddr, pageSize());
+ int cnt = io.getCount(pageAddr);
if (cnt == maxCnt) // Need to split page.
- return insertWithSplit(page, io, buf, idx, lvl);
+ return insertWithSplit(page, io, pageAddr, idx, lvl);
- insertSimple(page, io, buf, idx);
+ insertSimple(page, io, pageAddr, idx);
return null;
}
@@ -2204,13 +2203,13 @@ public abstract class BPlusTree<L, T extends L> extends DataStructure {
/**
* @param page Page.
* @param io IO.
- * @param buf Buffer.
+ * @param pageAddr Page address.
* @param idx Index.
* @throws IgniteCheckedException If failed.
*/
- private void insertSimple(Page page, BPlusIO<L> io, long buf, int idx)
+ private void insertSimple(Page page, BPlusIO<L> io, long pageAddr, int idx)
throws IgniteCheckedException {
- io.insert(buf, idx, row, null, rightId);
+ io.insert(pageAddr, idx, row, null, rightId);
if (needWalDeltaRecord(page))
wal.log(new InsertRecord<>(cacheId, page.id(), io, idx, row, null, rightId));
@@ -2219,19 +2218,19 @@ public abstract class BPlusTree<L, T extends L> extends DataStructure {
/**
* @param page Page.
* @param io IO.
- * @param buf Buffer.
+ * @param pageAddr Page address.
* @param idx Index.
* @param lvl Level.
* @return Move up row.
* @throws IgniteCheckedException If failed.
*/
- private L insertWithSplit(Page page, BPlusIO<L> io, final long buf, int idx, int lvl)
+ private L insertWithSplit(Page page, BPlusIO<L> io, final long pageAddr, int idx, int lvl)
throws IgniteCheckedException {
long fwdId = allocatePage(bag);
try (Page fwd = page(fwdId)) {
// Need to check this before the actual split, because after the split we will have new forward page here.
- boolean hadFwd = io.getForward(buf) != 0;
+ boolean hadFwd = io.getForward(pageAddr) != 0;
long fwdPageAddr = writeLock(fwd); // Initial write, no need to check for concurrent modification.
@@ -2241,13 +2240,13 @@ public abstract class BPlusTree<L, T extends L> extends DataStructure {
// Never write full forward page, because it is known to be new.
fwd.fullPageWalRecordPolicy(Boolean.FALSE);
- boolean midShift = splitPage(io, page, buf, fwdId, fwd, fwdPageAddr, idx);
+ boolean midShift = splitPage(io, page, pageAddr, fwdId, fwd, fwdPageAddr, idx);
// Do insert.
- int cnt = io.getCount(buf);
+ int cnt = io.getCount(pageAddr);
if (idx < cnt || (idx == cnt && !midShift)) { // Insert into back page.
- insertSimple(page, io, buf, idx);
+ insertSimple(page, io, pageAddr, idx);
// Fix leftmost child of forward page, because newly inserted row will go up.
if (idx == cnt && !io.isLeaf()) {
@@ -2261,13 +2260,13 @@ public abstract class BPlusTree<L, T extends L> extends DataStructure {
insertSimple(fwd, io, fwdPageAddr, idx - cnt);
// Do move up.
- cnt = io.getCount(buf);
+ cnt = io.getCount(pageAddr);
// Last item from backward row goes up.
- L moveUpRow = io.getLookupRow(BPlusTree.this, buf, cnt - 1);
+ L moveUpRow = io.getLookupRow(BPlusTree.this, pageAddr, cnt - 1);
if (!io.isLeaf()) { // Leaf pages must contain all the links, inner pages remove moveUpLink.
- io.setCount(buf, cnt - 1);
+ io.setCount(pageAddr, cnt - 1);
if (needWalDeltaRecord(page)) // Rare case, we can afford separate WAL record to avoid complexity.
wal.log(new FixCountRecord(cacheId, page.id(), cnt - 1));
@@ -2288,7 +2287,7 @@ public abstract class BPlusTree<L, T extends L> extends DataStructure {
// Never write full new root page, because it is known to be new.
newRoot.fullPageWalRecordPolicy(Boolean.FALSE);
- long pageId = PageIO.getPageId(buf);
+ long pageId = PageIO.getPageId(pageAddr);
inner(io).initNewRoot(newRootPageAddr,
newRootId,
@@ -2416,7 +2415,7 @@ public abstract class BPlusTree<L, T extends L> extends DataStructure {
}
/** {@inheritDoc} */
- @Override boolean notFound(BPlusIO<L> io, long buf, int idx, int lvl) {
+ @Override boolean notFound(BPlusIO<L> io, long pageAddr, int idx, int lvl) {
if (lvl == 0) {
assert tail == null;
@@ -2778,21 +2777,21 @@ public abstract class BPlusTree<L, T extends L> extends DataStructure {
/**
* @param page Page.
* @param io IO.
- * @param buf Buffer.
+ * @param pageAddr Page address.
* @param cnt Count.
* @param idx Index to remove.
* @throws IgniteCheckedException If failed.
*/
- private void removeDataRowFromLeaf(Page page, BPlusIO<L> io, long buf, int cnt, int idx)
+ private void removeDataRowFromLeaf(Page page, BPlusIO<L> io, long pageAddr, int cnt, int idx)
throws IgniteCheckedException {
assert idx >= 0 && idx < cnt: idx;
assert io.isLeaf(): "inner";
assert !isRemoved(): "already removed";
// Detach the row.
- removed = getRow(io, buf, idx);
+ removed = getRow(io, pageAddr, idx);
- doRemove(page, io, buf, cnt, idx);
+ doRemove(page, io, pageAddr, cnt, idx);
assert isRemoved();
}
@@ -2800,17 +2799,17 @@ public abstract class BPlusTree<L, T extends L> extends DataStructure {
/**
* @param page Page.
* @param io IO.
- * @param buf Buffer.
+ * @param pageAddr Page address.
* @param cnt Count.
* @param idx Index to remove.
* @throws IgniteCheckedException If failed.
*/
- private void doRemove(Page page, BPlusIO<L> io, long buf, int cnt, int idx)
+ private void doRemove(Page page, BPlusIO<L> io, long pageAddr, int cnt, int idx)
throws IgniteCheckedException {
assert cnt > 0 : cnt;
assert idx >= 0 && idx < cnt : idx + " " + cnt;
- io.remove(buf, idx, cnt);
+ io.remove(pageAddr, idx, cnt);
if (needWalDeltaRecord(page))
wal.log(new RemoveRecord(cacheId, page.id(), idx, cnt));
@@ -2973,23 +2972,23 @@ public abstract class BPlusTree<L, T extends L> extends DataStructure {
/**
* @param page Page.
- * @param buf Buffer.
+ * @param pageAddr Page address.
* @param release Release write lock and release page.
* @throws IgniteCheckedException If failed.
*/
- private void freePage(Page page, long buf, boolean release)
+ private void freePage(Page page, long pageAddr, boolean release)
throws IgniteCheckedException {
long pageId = page.id();
long effectivePageId = PageIdUtils.effectivePageId(pageId);
- pageId = recyclePage(pageId, page, buf);
+ pageId = recyclePage(pageId, page, pageAddr);
if (effectivePageId != PageIdUtils.effectivePageId(pageId))
throw new IllegalStateException("Effective page ID must stay the same.");
if (release)
- writeUnlockAndClose(page, buf);
+ writeUnlockAndClose(page, pageAddr);
bag().addFreePage(pageId);
}
@@ -3170,14 +3169,14 @@ public abstract class BPlusTree<L, T extends L> extends DataStructure {
/**
* @param page Page.
- * @param buf Buffer.
+ * @param pageAddr Page address.
* @param io IO.
* @param lvl Level.
* @param type Type.
* @return Added tail.
*/
- private Tail<L> addTail(Page page, long buf, BPlusIO<L> io, int lvl, byte type) {
- final Tail<L> t = new Tail<>(page, buf, io, type, lvl);
+ private Tail<L> addTail(Page page, long pageAddr, BPlusIO<L> io, int lvl, byte type) {
+ final Tail<L> t = new Tail<>(page, pageAddr, io, type, lvl);
if (tail == null)
tail = t;
@@ -3391,14 +3390,14 @@ public abstract class BPlusTree<L, T extends L> extends DataStructure {
}
/**
- * @param buf Buffer.
+ * @param pageAddr Page address.
* @return IO.
*/
- private BPlusIO<L> io(long buf) {
- assert buf != 0;
+ private BPlusIO<L> io(long pageAddr) {
+ assert pageAddr != 0;
- int type = PageIO.getType(buf);
- int ver = PageIO.getVersion(buf);
+ int type = PageIO.getType(pageAddr);
+ int ver = PageIO.getVersion(pageAddr);
if (innerIos.getType() == type)
return innerIos.forVersion(ver);
@@ -3406,7 +3405,7 @@ public abstract class BPlusTree<L, T extends L> extends DataStructure {
if (leafIos.getType() == type)
return leafIos.forVersion(ver);
- throw new IllegalStateException("Unknown page type: " + type + " pageId: " + U.hexLong(PageIO.getPageId(buf)));
+ throw new IllegalStateException("Unknown page type: " + type + " pageId: " + U.hexLong(PageIO.getPageId(pageAddr)));
}
/**
@@ -3434,24 +3433,24 @@ public abstract class BPlusTree<L, T extends L> extends DataStructure {
}
/**
- * @param buf Buffer.
+ * @param pageAddr Page address.
* @param idx Index of row in the given buffer.
* @param row Lookup row.
* @return Comparison result as in {@link Comparator#compare(Object, Object)}.
* @throws IgniteCheckedException If failed.
*/
- protected abstract int compare(BPlusIO<L> io, long buf, int idx, L row) throws IgniteCheckedException;
+ protected abstract int compare(BPlusIO<L> io, long pageAddr, int idx, L row) throws IgniteCheckedException;
/**
* Get the full detached row. Can be called on inner page only if {@link #canGetRowFromInner} is {@code true}.
*
* @param io IO.
- * @param buf Buffer.
+ * @param pageAddr Page address.
* @param idx Index.
* @return Full detached data row.
* @throws IgniteCheckedException If failed.
*/
- protected abstract T getRow(BPlusIO<L> io, long buf, int idx) throws IgniteCheckedException;
+ protected abstract T getRow(BPlusIO<L> io, long pageAddr, int idx) throws IgniteCheckedException;
/**
* Forward cursor.
@@ -3486,24 +3485,24 @@ public abstract class BPlusTree<L, T extends L> extends DataStructure {
}
/**
- * @param buf Buffer.
+ * @param pageAddr Page address.
* @param io IO.
* @param startIdx Start index.
* @throws IgniteCheckedException If failed.
*/
- private void init(long buf, BPlusIO<L> io, int startIdx) throws IgniteCheckedException {
+ private void init(long pageAddr, BPlusIO<L> io, int startIdx) throws IgniteCheckedException {
nextPageId = 0;
row = -1;
- int cnt = io.getCount(buf);
+ int cnt = io.getCount(pageAddr);
// If we see an empty page here, it means that it is an empty tree.
if (cnt == 0) {
- assert io.getForward(buf) == 0L;
+ assert io.getForward(pageAddr) == 0L;
rows = null;
}
- else if (!fillFromBuffer(buf, io, startIdx, cnt)) {
+ else if (!fillFromBuffer(pageAddr, io, startIdx, cnt)) {
if (rows != EMPTY) {
assert rows.length > 0; // Otherwise it makes no sense to create an array.
@@ -3514,18 +3513,18 @@ public abstract class BPlusTree<L, T extends L> extends DataStructure {
}
/**
- * @param buf Buffer.
+ * @param pageAddr Page address.
* @param io IO.
* @param cnt Count.
* @return Adjusted to lower bound start index.
* @throws IgniteCheckedException If failed.
*/
- private int findLowerBound(long buf, BPlusIO<L> io, int cnt) throws IgniteCheckedException {
+ private int findLowerBound(long pageAddr, BPlusIO<L> io, int cnt) throws IgniteCheckedException {
// Compare with the first row on the page.
- int cmp = compare(io, buf, 0, lowerBound);
+ int cmp = compare(io, pageAddr, 0, lowerBound);
if (cmp < 0 || (cmp == 0 && lowerShift == 1)) {
- int idx = findInsertionPoint(io, buf, 0, cnt, lowerBound, lowerShift);
+ int idx = findInsertionPoint(io, pageAddr, 0, cnt, lowerBound, lowerShift);
assert idx < 0;
@@ -3536,19 +3535,19 @@ public abstract class BPlusTree<L, T extends L> extends DataStructure {
}
/**
- * @param buf Buffer.
+ * @param pageAddr Page address.
* @param io IO.
* @param low Start index.
* @param cnt Number of rows in the buffer.
* @return Corrected number of rows with respect to upper bound.
* @throws IgniteCheckedException If failed.
*/
- private int findUpperBound(long buf, BPlusIO<L> io, int low, int cnt) throws IgniteCheckedException {
+ private int findUpperBound(long pageAddr, BPlusIO<L> io, int low, int cnt) throws IgniteCheckedException {
// Compare with the last row on the page.
- int cmp = compare(io, buf, cnt - 1, upperBound);
+ int cmp = compare(io, pageAddr, cnt - 1, upperBound);
if (cmp > 0) {
- int idx = findInsertionPoint(io, buf, low, cnt, upperBound, 1);
+ int idx = findInsertionPoint(io, pageAddr, low, cnt, upperBound, 1);
assert idx < 0;
@@ -3561,7 +3560,7 @@ public abstract class BPlusTree<L, T extends L> extends DataStructure {
}
/**
- * @param buf Buffer.
+ * @param pageAddr Page address.
* @param io IO.
* @param startIdx Start index.
* @param cnt Number of rows in the buffer.
@@ -3569,7 +3568,7 @@ public abstract class BPlusTree<L, T extends L> extends DataStructure {
* @throws IgniteCheckedException If failed.
*/
@SuppressWarnings("unchecked")
- private boolean fillFromBuffer(long buf, BPlusIO<L> io, int startIdx, int cnt)
+ private boolean fillFromBuffer(long pageAddr, BPlusIO<L> io, int startIdx, int cnt)
throws IgniteCheckedException {
assert io.isLeaf() : io;
assert cnt != 0 : cnt; // We can not see empty pages (empty tree handled in init).
@@ -3578,13 +3577,13 @@ public abstract class BPlusTree<L, T extends L> extends DataStructure {
checkDestroyed();
- nextPageId = io.getForward(buf);
+ nextPageId = io.getForward(pageAddr);
if (lowerBound != null && startIdx == 0)
- startIdx = findLowerBound(buf, io, cnt);
+ startIdx = findLowerBound(pageAddr, io, cnt);
if (upperBound != null && cnt != startIdx)
- cnt = findUpperBound(buf, io, startIdx, cnt);
+ cnt = findUpperBound(pageAddr, io, startIdx, cnt);
cnt -= startIdx;
@@ -3595,7 +3594,7 @@ public abstract class BPlusTree<L, T extends L> extends DataStructure {
rows = (T[])new Object[cnt];
for (int i = 0; i < cnt; i++) {
- T r = getRow(io, buf, startIdx + i);
+ T r = getRow(io, pageAddr, startIdx + i);
rows = GridArrays.set(rows, i, r);
}
@@ -3788,13 +3787,39 @@ public abstract class BPlusTree<L, T extends L> extends DataStructure {
* Operation result.
*/
enum Result {
- GO_DOWN, GO_DOWN_X, FOUND, NOT_FOUND, RETRY, RETRY_ROOT
+ /** */
+ GO_DOWN,
+
+ /** */
+ GO_DOWN_X,
+
+ /** */
+ FOUND,
+
+ /** */
+ NOT_FOUND,
+
+ /** */
+ RETRY,
+
+ /** */
+ RETRY_ROOT
}
/**
* Four state boolean.
*/
enum Bool {
- FALSE, TRUE, READY, DONE
+ /** */
+ FALSE,
+
+ /** */
+ TRUE,
+
+ /** */
+ READY,
+
+ /** */
+ DONE
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/1038a0b4/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/io/BPlusLeafIO.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/io/BPlusLeafIO.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/io/BPlusLeafIO.java
index 8b3a4f3..f3dccee 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/io/BPlusLeafIO.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/io/BPlusLeafIO.java
@@ -17,7 +17,6 @@
package org.apache.ignite.internal.processors.cache.database.tree.io;
-import java.nio.ByteBuffer;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.internal.processors.cache.database.tree.util.PageHandler;
http://git-wip-us.apache.org/repos/asf/ignite/blob/1038a0b4/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/io/BPlusMetaIO.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/io/BPlusMetaIO.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/io/BPlusMetaIO.java
index b5f655f..5925547 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/io/BPlusMetaIO.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/io/BPlusMetaIO.java
@@ -112,11 +112,11 @@ public class BPlusMetaIO extends PageIO {
}
/**
- * @param buf Buffer.
+ * @param pageAddr Page address.
* @return Root level.
*/
- public int getRootLevel(long buf) {
- int lvls = getLevelsCount(buf); // The highest level page is root.
+ public int getRootLevel(long pageAddr) {
+ int lvls = getLevelsCount(pageAddr); // The highest level page is root.
assert lvls > 0 : lvls;