You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by al...@apache.org on 2020/07/24 07:30:20 UTC
[ignite] branch master updated: IGNITE-13287 Minor PageMemoryImpl
optimizations - Fixes #8068.
This is an automated email from the ASF dual-hosted git repository.
alexpl pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite.git
The following commit(s) were added to refs/heads/master by this push:
new 07e4bdd IGNITE-13287 Minor PageMemoryImpl optimizations - Fixes #8068.
07e4bdd is described below
commit 07e4bdd164c79fc4de14cf10104ef72385d387cf
Author: Stanilovsky Evgeny <st...@gmail.com>
AuthorDate: Fri Jul 24 12:28:42 2020 +0500
IGNITE-13287 Minor PageMemoryImpl optimizations - Fixes #8068.
Signed-off-by: Aleksey Plekhanov <pl...@gmail.com>
---
.../internal/processors/cache/persistence/pagemem/PageHeader.java | 4 ++--
.../processors/cache/persistence/pagemem/PageMemoryImpl.java | 8 ++++----
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/PageHeader.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/PageHeader.java
index 20930ce..185878a 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/PageHeader.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/PageHeader.java
@@ -171,9 +171,9 @@ class PageHeader {
* @param absPtr Absolute page address.
*/
public static void writeTimestamp(final long absPtr, long tstamp) {
- tstamp >>= 8;
+ tstamp &= 0xFFFFFFFFFFFFFF00L;
- GridUnsafe.putLongVolatile(null, absPtr, (tstamp << 8) | 0x01);
+ GridUnsafe.putLongVolatile(null, absPtr, tstamp | 0x01);
}
/**
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/PageMemoryImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/PageMemoryImpl.java
index 5dc17a0..1804dbd 100755
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/PageMemoryImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/PageMemoryImpl.java
@@ -710,8 +710,6 @@ public class PageMemoryImpl implements PageMemoryEx {
boolean restore, @Nullable AtomicBoolean pageAllocated) throws IgniteCheckedException {
assert started;
- FullPageId fullId = new FullPageId(pageId, grpId);
-
int partId = PageIdUtils.partId(pageId);
Segment seg = segment(grpId, pageId);
@@ -745,6 +743,8 @@ public class PageMemoryImpl implements PageMemoryEx {
DelayedDirtyPageStoreWrite delayedWriter = delayedPageReplacementTracker != null
? delayedPageReplacementTracker.delayedPageWrite() : null;
+ FullPageId fullId = new FullPageId(pageId, grpId);
+
seg.writeLock().lock();
long lockedPageAbsPtr = -1;
@@ -754,7 +754,7 @@ public class PageMemoryImpl implements PageMemoryEx {
// Double-check.
long relPtr = seg.loadedPages.get(
grpId,
- PageIdUtils.effectivePageId(pageId),
+ fullId.effectivePageId(),
seg.partGeneration(grpId, partId),
INVALID_REL_PTR,
OUTDATED_REL_PTR
@@ -785,7 +785,7 @@ public class PageMemoryImpl implements PageMemoryEx {
seg.loadedPages.put(
grpId,
- PageIdUtils.effectivePageId(pageId),
+ fullId.effectivePageId(),
relPtr,
seg.partGeneration(grpId, partId)
);