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)
                 );