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/05/22 15:12:44 UTC
[16/50] [abbrv] ignite git commit: IGNITE-GG-12163 fixes around
PartitionDestroy WAL record functionality
IGNITE-GG-12163 fixes around PartitionDestroy WAL record functionality
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/6d3821b9
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/6d3821b9
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/6d3821b9
Branch: refs/heads/ignite-5075-pds
Commit: 6d3821b92e252ba834da793295400eb8bf6d0813
Parents: 99acdb5
Author: Sergey Chugunov <se...@gmail.com>
Authored: Wed May 17 11:35:47 2017 +0300
Committer: Sergey Chugunov <se...@gmail.com>
Committed: Wed May 17 11:35:47 2017 +0300
----------------------------------------------------------------------
.../internal/pagemem/wal/record/delta/MetaPageInitRecord.java | 5 +----
.../cache/database/GridCacheDatabaseSharedManager.java | 7 +------
.../processors/cache/database/GridCacheOffheapManager.java | 3 +++
.../cache/database/wal/serializer/RecordV1Serializer.java | 2 +-
4 files changed, 6 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/6d3821b9/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageInitRecord.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageInitRecord.java b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageInitRecord.java
index 3d351a2..5c99d54 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageInitRecord.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageInitRecord.java
@@ -21,7 +21,6 @@ import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.internal.pagemem.PageMemory;
import org.apache.ignite.internal.processors.cache.database.tree.io.PageIO;
import org.apache.ignite.internal.processors.cache.database.tree.io.PageMetaIO;
-import org.apache.ignite.internal.processors.cache.database.tree.io.PagePartitionMetaIO;
/**
*
@@ -76,9 +75,7 @@ public class MetaPageInitRecord extends InitNewPageRecord {
/** {@inheritDoc} */
@Override public void applyDelta(PageMemory pageMem, long pageAddr) throws IgniteCheckedException {
- PageMetaIO io = ioType == PageIO.T_META ?
- PageMetaIO.VERSIONS.forPage(pageAddr) :
- PagePartitionMetaIO.VERSIONS.forPage(pageAddr);
+ PageMetaIO io = PageMetaIO.getPageIO(ioType, ioVer);
io.initNewPage(pageAddr, newPageId, pageMem.pageSize());
http://git-wip-us.apache.org/repos/asf/ignite/blob/6d3821b9/modules/pds/src/main/java/org/apache/ignite/internal/processors/cache/database/GridCacheDatabaseSharedManager.java
----------------------------------------------------------------------
diff --git a/modules/pds/src/main/java/org/apache/ignite/internal/processors/cache/database/GridCacheDatabaseSharedManager.java b/modules/pds/src/main/java/org/apache/ignite/internal/processors/cache/database/GridCacheDatabaseSharedManager.java
index 87c8174..73d6072 100755
--- a/modules/pds/src/main/java/org/apache/ignite/internal/processors/cache/database/GridCacheDatabaseSharedManager.java
+++ b/modules/pds/src/main/java/org/apache/ignite/internal/processors/cache/database/GridCacheDatabaseSharedManager.java
@@ -74,14 +74,12 @@ import org.apache.ignite.internal.IgniteInternalFuture;
import org.apache.ignite.internal.IgniteInterruptedCheckedException;
import org.apache.ignite.internal.mem.DirectMemoryProvider;
import org.apache.ignite.internal.pagemem.FullPageId;
-import org.apache.ignite.internal.pagemem.PageIdAllocator;
import org.apache.ignite.internal.pagemem.PageIdUtils;
import org.apache.ignite.internal.pagemem.PageMemory;
import org.apache.ignite.internal.pagemem.PageUtils;
import org.apache.ignite.internal.pagemem.snapshot.SnapshotOperation;
import org.apache.ignite.internal.pagemem.store.IgnitePageStoreManager;
import org.apache.ignite.internal.pagemem.store.PageStore;
-import org.apache.ignite.internal.pagemem.wal.IgniteWriteAheadLogManager;
import org.apache.ignite.internal.pagemem.wal.StorageException;
import org.apache.ignite.internal.pagemem.wal.WALIterator;
import org.apache.ignite.internal.pagemem.wal.WALPointer;
@@ -92,7 +90,6 @@ import org.apache.ignite.internal.pagemem.wal.record.DataRecord;
import org.apache.ignite.internal.pagemem.wal.record.MemoryRecoveryRecord;
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.MetaPageUpdateLastAllocatedIndex;
import org.apache.ignite.internal.pagemem.wal.record.delta.PageDeltaRecord;
import org.apache.ignite.internal.pagemem.wal.record.delta.PartitionDestroyRecord;
import org.apache.ignite.internal.pagemem.wal.record.delta.PartitionMetaStateRecord;
@@ -104,7 +101,6 @@ import org.apache.ignite.internal.processors.cache.database.file.FilePageStoreMa
import org.apache.ignite.internal.processors.cache.database.pagemem.PageMemoryEx;
import org.apache.ignite.internal.processors.cache.database.pagemem.PageMemoryImpl;
import org.apache.ignite.internal.processors.cache.database.tree.io.PageIO;
-import org.apache.ignite.internal.processors.cache.database.tree.io.PageMetaIO;
import org.apache.ignite.internal.processors.cache.database.tree.io.PagePartitionMetaIO;
import org.apache.ignite.internal.processors.cache.database.wal.FileWALPointer;
import org.apache.ignite.internal.processors.cache.database.wal.crc.PureJavaCrc32;
@@ -134,7 +130,6 @@ import org.jetbrains.annotations.Nullable;
import static org.apache.ignite.IgniteSystemProperties.IGNITE_PDS_PARTITION_DESTROY_CHECKPOINT_DELAY;
import static org.apache.ignite.IgniteSystemProperties.IGNITE_PDS_SKIP_CRC;
import static org.apache.ignite.IgniteSystemProperties.IGNITE_WAL_REBALANCE_THRESHOLD;
-import static org.apache.ignite.internal.processors.cache.database.tree.util.PageHandler.isWalDeltaRecordNeeded;
/**
*
@@ -1307,7 +1302,7 @@ public class GridCacheDatabaseSharedManager extends IgniteCacheDatabaseSharedMan
final int cId = destroyRec.cacheId();
final int pId = destroyRec.partitionId();
- PageMemoryEx pageMem = (PageMemoryEx)cctx.cacheContext(cId).memoryPolicy().pageMemory();
+ PageMemoryEx pageMem = getPageMemoryForCacheId(cId);
pageMem.clearAsync(new P3<Integer, Long, Integer>() {
@Override public boolean apply(Integer cacheId, Long pageId, Integer tag) {
http://git-wip-us.apache.org/repos/asf/ignite/blob/6d3821b9/modules/pds/src/main/java/org/apache/ignite/internal/processors/cache/database/GridCacheOffheapManager.java
----------------------------------------------------------------------
diff --git a/modules/pds/src/main/java/org/apache/ignite/internal/processors/cache/database/GridCacheOffheapManager.java b/modules/pds/src/main/java/org/apache/ignite/internal/processors/cache/database/GridCacheOffheapManager.java
index 74fe886..5253818 100644
--- a/modules/pds/src/main/java/org/apache/ignite/internal/processors/cache/database/GridCacheOffheapManager.java
+++ b/modules/pds/src/main/java/org/apache/ignite/internal/processors/cache/database/GridCacheOffheapManager.java
@@ -37,6 +37,7 @@ 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;
import org.apache.ignite.internal.processors.cache.CacheObject;
import org.apache.ignite.internal.processors.cache.GridCacheContext;
@@ -314,6 +315,8 @@ public class GridCacheOffheapManager extends IgniteCacheOffheapManagerImpl imple
int tag = pageMemory.invalidate(cctx.cacheId(), p);
+ cctx.shared().wal().log(new PartitionDestroyRecord(cctx.cacheId(), p));
+
cctx.shared().pageStore().onPartitionDestroyed(cctx.cacheId(), p, tag);
}
finally {
http://git-wip-us.apache.org/repos/asf/ignite/blob/6d3821b9/modules/pds/src/main/java/org/apache/ignite/internal/processors/cache/database/wal/serializer/RecordV1Serializer.java
----------------------------------------------------------------------
diff --git a/modules/pds/src/main/java/org/apache/ignite/internal/processors/cache/database/wal/serializer/RecordV1Serializer.java b/modules/pds/src/main/java/org/apache/ignite/internal/processors/cache/database/wal/serializer/RecordV1Serializer.java
index 25b69d8..f67f617 100644
--- a/modules/pds/src/main/java/org/apache/ignite/internal/processors/cache/database/wal/serializer/RecordV1Serializer.java
+++ b/modules/pds/src/main/java/org/apache/ignite/internal/processors/cache/database/wal/serializer/RecordV1Serializer.java
@@ -171,7 +171,7 @@ public class RecordV1Serializer implements RecordSerializer {
PartitionDestroyRecord partDestroy = (PartitionDestroyRecord)record;
buf.putInt(partDestroy.cacheId());
- buf.putInt(partDestroy.cacheId());
+ buf.putInt(partDestroy.partitionId());
break;