You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by dp...@apache.org on 2019/02/12 13:23:31 UTC

[ignite] branch master updated: IGNITE-9672 Move o.a.i.i.processors.cache.persistence.tree.io.PageMetaIO to metastore. (#5962)

This is an automated email from the ASF dual-hosted git repository.

dpavlov 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 a6f444c  IGNITE-9672 Move o.a.i.i.processors.cache.persistence.tree.io.PageMetaIO to metastore. (#5962)
a6f444c is described below

commit a6f444cf06619720479611e1759115d7d672fa42
Author: Ivan Daschinskiy <iv...@gmail.com>
AuthorDate: Tue Feb 12 16:23:23 2019 +0300

    IGNITE-9672 Move o.a.i.i.processors.cache.persistence.tree.io.PageMetaIO to metastore. (#5962)
---
 .../MetaPageUpdateLastSuccessfulFullSnapshotId.java   |  3 ++-
 .../delta/MetaPageUpdateLastSuccessfulSnapshotId.java |  3 ++-
 .../record/delta/MetaPageUpdateNextSnapshotId.java    |  3 ++-
 .../internal/processors/cache/GridCacheProcessor.java |  2 +-
 .../persistence/GridCacheDatabaseSharedManager.java   |  2 +-
 .../cache/persistence/GridCacheOffheapManager.java    | 19 +++----------------
 .../snapshot/IgniteCacheSnapshotManager.java          |  6 ++++--
 .../cache/persistence/tree/io/PageMetaIO.java         | 16 ++++++++++++++++
 8 files changed, 31 insertions(+), 23 deletions(-)

diff --git a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageUpdateLastSuccessfulFullSnapshotId.java b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageUpdateLastSuccessfulFullSnapshotId.java
index f8884a0..5636590 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageUpdateLastSuccessfulFullSnapshotId.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageUpdateLastSuccessfulFullSnapshotId.java
@@ -23,8 +23,9 @@ import org.apache.ignite.internal.processors.cache.persistence.tree.io.PageMetaI
 import org.apache.ignite.internal.util.typedef.internal.S;
 
 /**
- *
+ * @deprecated Will be removed at 3.0. See IGNITE-11139.
  */
+@Deprecated
 public class MetaPageUpdateLastSuccessfulFullSnapshotId extends PageDeltaRecord {
     /** */
     private final long lastSuccessfulFullSnapshotId;
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageUpdateLastSuccessfulSnapshotId.java b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageUpdateLastSuccessfulSnapshotId.java
index 0d7648f..c99fe46 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageUpdateLastSuccessfulSnapshotId.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageUpdateLastSuccessfulSnapshotId.java
@@ -23,8 +23,9 @@ import org.apache.ignite.internal.processors.cache.persistence.tree.io.PageMetaI
 import org.apache.ignite.internal.util.typedef.internal.S;
 
 /**
- *
+ * @deprecated Will be removed at 3.0. See IGNITE-11139.
  */
+@Deprecated
 public class MetaPageUpdateLastSuccessfulSnapshotId extends PageDeltaRecord {
     /** */
     private final long lastSuccessfulSnapshotId;
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageUpdateNextSnapshotId.java b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageUpdateNextSnapshotId.java
index 5068fe5..f26e6b5 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageUpdateNextSnapshotId.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageUpdateNextSnapshotId.java
@@ -23,8 +23,9 @@ import org.apache.ignite.internal.processors.cache.persistence.tree.io.PageMetaI
 import org.apache.ignite.internal.util.typedef.internal.S;
 
 /**
- *
+ * @deprecated Will be removed at 3.0. See IGNITE-11139.
  */
+@Deprecated
 public class MetaPageUpdateNextSnapshotId extends PageDeltaRecord {
     /** */
     private final long nextSnapshotTag;
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
index 4fc4f60..049a987 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
@@ -1388,7 +1388,7 @@ public class GridCacheProcessor extends GridProcessorAdapter {
 
             ctx.kernalContext().continuous().onCacheStop(ctx);
 
-            ctx.kernalContext().cache().context().snapshot().onCacheStop(ctx);
+            ctx.kernalContext().cache().context().snapshot().onCacheStop(ctx, destroy);
 
             ctx.kernalContext().coordinators().onCacheStop(ctx);
 
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheDatabaseSharedManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheDatabaseSharedManager.java
index 9f126a6..ed3178d 100755
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheDatabaseSharedManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheDatabaseSharedManager.java
@@ -1449,7 +1449,7 @@ public class GridCacheDatabaseSharedManager extends IgniteCacheDatabaseSharedMan
             if (!gctx.persistenceEnabled())
                 continue;
 
-            snapshotMgr.onCacheGroupStop(gctx);
+            snapshotMgr.onCacheGroupStop(gctx, tup.get2());
 
             PageMemoryEx pageMem = (PageMemoryEx)gctx.dataRegion().pageMemory();
 
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheOffheapManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheOffheapManager.java
index c888953..6c73d66 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheOffheapManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheOffheapManager.java
@@ -47,7 +47,6 @@ import org.apache.ignite.internal.pagemem.wal.record.DataRecord;
 import org.apache.ignite.internal.pagemem.wal.record.PageSnapshot;
 import org.apache.ignite.internal.pagemem.wal.record.WALRecord;
 import org.apache.ignite.internal.pagemem.wal.record.delta.MetaPageInitRecord;
-import org.apache.ignite.internal.pagemem.wal.record.delta.MetaPageUpdateNextSnapshotId;
 import org.apache.ignite.internal.pagemem.wal.record.delta.MetaPageUpdatePartitionDataRecord;
 import org.apache.ignite.internal.pagemem.wal.record.delta.PartitionDestroyRecord;
 import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
@@ -186,11 +185,11 @@ public class GridCacheOffheapManager extends IgniteCacheOffheapManagerImpl imple
 
         if (needSnapshot) {
             if (execSvc == null)
-                updateSnapshotTag(ctx);
+                addPartitions(ctx);
             else {
                 execSvc.execute(() -> {
                     try {
-                        updateSnapshotTag(ctx);
+                        addPartitions(ctx);
                     }
                     catch (IgniteCheckedException e) {
                         throw new IgniteException(e);
@@ -687,10 +686,9 @@ public class GridCacheOffheapManager extends IgniteCacheOffheapManagerImpl imple
     /**
      * @param ctx Context.
      */
-    private void updateSnapshotTag(Context ctx) throws IgniteCheckedException {
+    private void addPartitions(Context ctx) throws IgniteCheckedException {
         int grpId = grp.groupId();
         PageMemoryEx pageMem = (PageMemoryEx)grp.dataRegion().pageMemory();
-        IgniteWriteAheadLogManager wal = this.ctx.wal();
 
         long metaPageId = pageMem.metaPageId(grpId);
         long metaPage = pageMem.acquirePage(grpId, metaPageId);
@@ -701,17 +699,6 @@ public class GridCacheOffheapManager extends IgniteCacheOffheapManagerImpl imple
             try {
                 PageMetaIO metaIo = PageMetaIO.getPageIO(metaPageAddr);
 
-                long nextSnapshotTag = metaIo.getNextSnapshotTag(metaPageAddr);
-
-                metaIo.setNextSnapshotTag(metaPageAddr, nextSnapshotTag + 1);
-
-                if (log != null && log.isDebugEnabled())
-                    log.debug("Save next snapshot before checkpoint start for grId = " + grpId
-                        + ", nextSnapshotTag = " + nextSnapshotTag);
-
-                if (!wal.disabled(grpId))
-                    wal.log(new MetaPageUpdateNextSnapshotId(grpId, metaPageId, nextSnapshotTag + 1));
-
                 addPartition(
                     null,
                     ctx.partitionStatMap(),
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/IgniteCacheSnapshotManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/IgniteCacheSnapshotManager.java
index 75aa983..adc677b 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/IgniteCacheSnapshotManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/IgniteCacheSnapshotManager.java
@@ -135,15 +135,17 @@ public class IgniteCacheSnapshotManager<T extends SnapshotOperation> extends Gri
 
     /**
      * @param cctx Cctx.
+     * @param destroy Destroy flag.
      */
-    public void onCacheStop(GridCacheContext cctx) {
+    public void onCacheStop(GridCacheContext cctx, boolean destroy) {
         // No-op.
     }
 
     /**
      * @param gctx Cctx.
+     * @param destroy Destroy flag.
      */
-    public void onCacheGroupStop(CacheGroupContext gctx) {
+    public void onCacheGroupStop(CacheGroupContext gctx, boolean destroy) {
         // No-op.
     }
 
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/PageMetaIO.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/PageMetaIO.java
index d676cfd..b25bae4 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/PageMetaIO.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/PageMetaIO.java
@@ -123,14 +123,18 @@ public class PageMetaIO extends PageIO {
     /**
      * @param pageAddr Page address.
      * @param lastSuccessfulSnapshotId Last successful snapshot id.
+     * @deprecated Will be removed at 3.0. See IGNITE-11139.
      */
+    @Deprecated
     public void setLastSuccessfulSnapshotId(long pageAddr, long lastSuccessfulSnapshotId) {
         PageUtils.putLong(pageAddr, LAST_SUCCESSFUL_SNAPSHOT_ID_OFF, lastSuccessfulSnapshotId);
     }
 
     /**
      * @param pageAddr Page address.
+     * @deprecated Will be removed at 3.0. See IGNITE-11139.
      */
+    @Deprecated
     public long getLastSuccessfulSnapshotId(long pageAddr) {
         return PageUtils.getLong(pageAddr, LAST_SUCCESSFUL_SNAPSHOT_ID_OFF);
     }
@@ -138,14 +142,18 @@ public class PageMetaIO extends PageIO {
     /**
      * @param pageAddr Page address.
      * @param lastSuccessfulFullSnapshotId Last successful full snapshot id.
+     * @deprecated Will be removed at 3.0. See IGNITE-11139.
      */
+    @Deprecated
     public void setLastSuccessfulFullSnapshotId(long pageAddr, long lastSuccessfulFullSnapshotId) {
         PageUtils.putLong(pageAddr, LAST_SUCCESSFUL_FULL_SNAPSHOT_ID_OFF, lastSuccessfulFullSnapshotId);
     }
 
     /**
      * @param pageAddr Page address.
+     * @deprecated Will be removed at 3.0. See IGNITE-11139.
      */
+    @Deprecated
     public long getLastSuccessfulFullSnapshotId(long pageAddr) {
         return PageUtils.getLong(pageAddr, LAST_SUCCESSFUL_FULL_SNAPSHOT_ID_OFF);
     }
@@ -153,14 +161,18 @@ public class PageMetaIO extends PageIO {
     /**
      * @param pageAddr Page address.
      * @param nextSnapshotTag Next snapshot tag.
+     * @deprecated Will be removed at 3.0. See IGNITE-11139.
      */
+    @Deprecated
     public void setNextSnapshotTag(long pageAddr, long nextSnapshotTag) {
         PageUtils.putLong(pageAddr, NEXT_SNAPSHOT_TAG_OFF, nextSnapshotTag);
     }
 
     /**
      * @param pageAddr Page address.
+     * @deprecated Will be removed at 3.0. See IGNITE-11139.
      */
+    @Deprecated
     public long getLastSuccessfulSnapshotTag(long pageAddr) {
         return PageUtils.getLong(pageAddr, LAST_SUCCESSFUL_FULL_SNAPSHOT_TAG_OFF);
     }
@@ -168,14 +180,18 @@ public class PageMetaIO extends PageIO {
     /**
      * @param pageAddr Page address.
      * @param lastSuccessfulSnapshotTag Last successful snapshot tag.
+     * @deprecated Will be removed at 3.0. See IGNITE-11139.
      */
+    @Deprecated
     public void setLastSuccessfulSnapshotTag(long pageAddr, long lastSuccessfulSnapshotTag) {
         PageUtils.putLong(pageAddr, LAST_SUCCESSFUL_FULL_SNAPSHOT_TAG_OFF, lastSuccessfulSnapshotTag);
     }
 
     /**
      * @param pageAddr Page address.
+     * @deprecated Will be removed at 3.0. See IGNITE-11139.
      */
+    @Deprecated
     public long getNextSnapshotTag(long pageAddr) {
         return PageUtils.getLong(pageAddr, NEXT_SNAPSHOT_TAG_OFF);
     }