ignite git commit: IGNITE-9720 Make sure lazy list does not break checkpoint lock invariant
Repository: ignite Updated Branches: refs/heads/ignite-9720 a092939ee -> a26f32760 IGNITE-9720 Make sure lazy list does not break checkpoint lock invariant Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/a26f3276 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/a26f3276 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/a26f3276 Branch: refs/heads/ignite-9720 Commit: a26f327602214f05ce669cab9d2e7dd083d6d1e4 Parents: a092939 Author: Alexey Goncharuk Authored: Fri Nov 30 15:41:27 2018 +0300 Committer: Alexey Goncharuk Committed: Fri Nov 30 15:41:27 2018 +0300 -- .../processors/cache/persistence/GridCacheOffheapManager.java | 2 ++ 1 file changed, 2 insertions(+) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/a26f3276/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheOffheapManager.java -- 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 ed67bcf..8ce864a 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 @@ -1525,6 +1525,8 @@ public class GridCacheOffheapManager extends IgniteCacheOffheapManagerImpl imple freeList = new LazyCacheFreeList() { @Override protected CacheFreeList createDelegate() throws IgniteCheckedException { +assert grp.shared().database().checkpointLockIsHeldByThread(); + return new PartitionCacheFreeList(grp, partId, reuseRoot); } };
ignite git commit: IGNITE-9720 WA for test hang
Repository: ignite Updated Branches: refs/heads/ignite-9720 fb639a0ba -> a092939ee IGNITE-9720 WA for test hang Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/a092939e Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/a092939e Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/a092939e Branch: refs/heads/ignite-9720 Commit: a092939ee158a3e8e8b6f9e1e42018c7ae305836 Parents: fb639a0 Author: Alexey Goncharuk Authored: Thu Nov 29 19:44:18 2018 +0300 Committer: Alexey Goncharuk Committed: Thu Nov 29 19:44:18 2018 +0300 -- .../continuous/CacheContinuousQueryFailoverAbstractSelfTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/a092939e/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryFailoverAbstractSelfTest.java -- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryFailoverAbstractSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryFailoverAbstractSelfTest.java index e7c2261..7cf94e6 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryFailoverAbstractSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryFailoverAbstractSelfTest.java @@ -1940,7 +1940,7 @@ public abstract class CacheContinuousQueryFailoverAbstractSelfTest extends GridC IgniteInternalFuture restartFut = GridTestUtils.runAsync(new Callable() { @Override public Void call() throws Exception { try { -while (!stop.get() && !err) { +while (!stop.get() && !err && !Thread.currentThread().isInterrupted()) { final int idx = rnd.nextInt(SRV_NODES); log.info("Stop node: " + idx); @@ -2044,7 +2044,7 @@ public abstract class CacheContinuousQueryFailoverAbstractSelfTest extends GridC log.error("Thread id: " + threadId); -while (System.currentTimeMillis() < stopTime && !stop.get() && !err) { +while (System.currentTimeMillis() < stopTime && !stop.get() && !err && !Thread.currentThread().isInterrupted()) { Integer key = rnd.nextInt(PARTS); Integer val = valCntr.incrementAndGet();
ignite git commit: IGNITE-9720 Fixed inspections
Repository: ignite Updated Branches: refs/heads/ignite-9720 04fdbc1af -> 72705a94d IGNITE-9720 Fixed inspections Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/72705a94 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/72705a94 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/72705a94 Branch: refs/heads/ignite-9720 Commit: 72705a94dd79b17145f746eb5fb8aad3f286a095 Parents: 04fdbc1 Author: Alexey Goncharuk Authored: Wed Nov 28 15:30:07 2018 +0300 Committer: Alexey Goncharuk Committed: Wed Nov 28 15:30:07 2018 +0300 -- .../processors/cache/persistence/freelist/AbstractFreeList.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/72705a94/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/freelist/AbstractFreeList.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/freelist/AbstractFreeList.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/freelist/AbstractFreeList.java index b446ccb..8487c41 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/freelist/AbstractFreeList.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/freelist/AbstractFreeList.java @@ -373,7 +373,7 @@ public abstract class AbstractFreeList extends PagesList imp } /** {@inheritDoc} */ -public long freeSpace() { +@Override public long freeSpace() { long freeSpace = 0; for (int b = BUCKETS - 2; b > 0; b--) { @@ -601,7 +601,7 @@ public abstract class AbstractFreeList extends PagesList imp /** * @return Number of empty data pages in free list. */ -public int emptyDataPages() { +@Override public int emptyDataPages() { return bucketsSize[REUSE_BUCKET].intValue(); }
ignite git commit: ignite-9720
Repository: ignite Updated Branches: refs/heads/ignite-9720 2a52875fa -> 8464bd197 ignite-9720 Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/8464bd19 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/8464bd19 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/8464bd19 Branch: refs/heads/ignite-9720 Commit: 8464bd1976641bd35ac0de20d01e270d47726012 Parents: 2a52875 Author: sboikov Authored: Wed Oct 24 09:17:54 2018 +0300 Committer: sboikov Committed: Wed Oct 24 09:17:54 2018 +0300 -- .../cache/persistence/FreeListLazyInitializationTest.java | 1 - 1 file changed, 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/8464bd19/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/FreeListLazyInitializationTest.java -- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/FreeListLazyInitializationTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/FreeListLazyInitializationTest.java index 45660ad..1cfc17a 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/FreeListLazyInitializationTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/FreeListLazyInitializationTest.java @@ -17,7 +17,6 @@ package org.apache.ignite.internal.processors.cache.persistence; -import org.apache.ignite.IgniteCache; import org.apache.ignite.configuration.BinaryConfiguration; import org.apache.ignite.configuration.CacheConfiguration; import org.apache.ignite.configuration.DataRegionConfiguration;
ignite git commit: ignite-9720
Repository: ignite Updated Branches: refs/heads/ignite-9720 9c3304676 -> 23d4f7217 ignite-9720 Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/23d4f721 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/23d4f721 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/23d4f721 Branch: refs/heads/ignite-9720 Commit: 23d4f72176febac0be9c97ed020d00ffa81461e6 Parents: 9c33046 Author: sboikov Authored: Tue Oct 23 15:27:29 2018 +0300 Committer: sboikov Committed: Tue Oct 23 15:27:29 2018 +0300 -- .../FreeListLazyInitializationTest.java | 25 1 file changed, 20 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/23d4f721/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/FreeListLazyInitializationTest.java -- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/FreeListLazyInitializationTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/FreeListLazyInitializationTest.java index 6a17c56..45660ad 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/FreeListLazyInitializationTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/FreeListLazyInitializationTest.java @@ -17,6 +17,7 @@ package org.apache.ignite.internal.processors.cache.persistence; +import org.apache.ignite.IgniteCache; import org.apache.ignite.configuration.BinaryConfiguration; import org.apache.ignite.configuration.CacheConfiguration; import org.apache.ignite.configuration.DataRegionConfiguration; @@ -36,6 +37,7 @@ import java.util.List; import java.util.Map; import static org.apache.ignite.cache.CacheAtomicityMode.TRANSACTIONAL; +import static org.apache.ignite.cache.CacheMode.PARTITIONED; import static org.apache.ignite.cache.CacheMode.REPLICATED; import static org.apache.ignite.cache.CacheWriteSynchronizationMode.FULL_SYNC; import static org.apache.ignite.testframework.GridTestUtils.getFieldValue; @@ -65,12 +67,17 @@ public class FreeListLazyInitializationTest extends GridCommonAbstractTest { ((TcpDiscoverySpi)cfg.getDiscoverySpi()).setIpFinder(IP_FINDER); -CacheConfiguration ccfg = new CacheConfiguration(DEFAULT_CACHE_NAME); -ccfg.setWriteSynchronizationMode(FULL_SYNC); -ccfg.setAtomicityMode(TRANSACTIONAL); -ccfg.setCacheMode(REPLICATED); +CacheConfiguration ccfg1 = new CacheConfiguration(DEFAULT_CACHE_NAME); +ccfg1.setWriteSynchronizationMode(FULL_SYNC); +ccfg1.setAtomicityMode(TRANSACTIONAL); +ccfg1.setCacheMode(REPLICATED); -cfg.setCacheConfiguration(ccfg); +CacheConfiguration ccfg2 = new CacheConfiguration("cache-2"); +ccfg2.setWriteSynchronizationMode(FULL_SYNC); +ccfg2.setAtomicityMode(TRANSACTIONAL); +ccfg2.setCacheMode(PARTITIONED); + +cfg.setCacheConfiguration(ccfg1, ccfg2); return cfg; } @@ -127,6 +134,14 @@ public class FreeListLazyInitializationTest extends GridCommonAbstractTest { checkLazyFreeList(node, parts, false); +// Check second cache and checkpoints do not force unnecessary free lists initialization. +node.cache("cache-2").putAll(map); +node.cache("cache-2").removeAll(map.keySet()); + +forceCheckpoint(node); + +checkLazyFreeList(node, parts, false); + node.cache(DEFAULT_CACHE_NAME).putAll(map); checkLazyFreeList(node, parts, true);
ignite git commit: ignite-9720
Repository: ignite Updated Branches: refs/heads/ignite-9720 a6cd973a2 -> 144ca212e ignite-9720 Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/144ca212 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/144ca212 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/144ca212 Branch: refs/heads/ignite-9720 Commit: 144ca212edf6dfcbd93feca5bc4c1244fb4edc5e Parents: a6cd973 Author: sboikov Authored: Tue Oct 23 10:56:08 2018 +0300 Committer: sboikov Committed: Tue Oct 23 10:56:08 2018 +0300 -- .../FreeListLazyInitializationTest.java | 159 +++ .../ignite/testsuites/IgnitePdsTestSuite4.java | 3 + 2 files changed, 162 insertions(+) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/144ca212/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/FreeListLazyInitializationTest.java -- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/FreeListLazyInitializationTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/FreeListLazyInitializationTest.java new file mode 100644 index 000..e0a4aae --- /dev/null +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/FreeListLazyInitializationTest.java @@ -0,0 +1,159 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.ignite.internal.processors.cache.persistence; + +import org.apache.ignite.configuration.BinaryConfiguration; +import org.apache.ignite.configuration.CacheConfiguration; +import org.apache.ignite.configuration.DataRegionConfiguration; +import org.apache.ignite.configuration.DataStorageConfiguration; +import org.apache.ignite.configuration.IgniteConfiguration; +import org.apache.ignite.configuration.WALMode; +import org.apache.ignite.internal.IgniteEx; +import org.apache.ignite.internal.processors.cache.GridCacheContext; +import org.apache.ignite.internal.processors.cache.distributed.dht.topology.GridDhtLocalPartition; +import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi; +import org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinder; +import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder; +import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import static org.apache.ignite.cache.CacheAtomicityMode.TRANSACTIONAL; +import static org.apache.ignite.cache.CacheMode.REPLICATED; +import static org.apache.ignite.cache.CacheWriteSynchronizationMode.FULL_SYNC; +import static org.apache.ignite.testframework.GridTestUtils.getFieldValue; + +/** + * + */ +public class FreeListLazyInitializationTest extends GridCommonAbstractTest { +/** */ +private static final TcpDiscoveryIpFinder IP_FINDER = new TcpDiscoveryVmIpFinder(true); + +/** {@inheritDoc} */ +@Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception { +IgniteConfiguration cfg = super.getConfiguration(gridName); + +cfg.setConsistentId(gridName); + +DataStorageConfiguration memCfg = new DataStorageConfiguration() +.setDefaultDataRegionConfiguration( +new DataRegionConfiguration().setMaxSize(100L * 1024 * 1024).setPersistenceEnabled(true)) +.setPageSize(1024) +.setWalMode(WALMode.LOG_ONLY); + +cfg.setDataStorageConfiguration(memCfg); + +cfg.setBinaryConfiguration(new BinaryConfiguration().setCompactFooter(false)); + +((TcpDiscoverySpi)cfg.getDiscoverySpi()).setIpFinder(IP_FINDER); + +CacheConfiguration ccfg = new CacheConfiguration(DEFAULT_CACHE_NAME); +ccfg.setWriteSynchronizationMode(FULL_SYNC); +ccfg.setAtomicityMode(TRANSACTIONAL); +ccfg.setCacheMode(REPLICATED); + +cfg.setCacheConfiguration(ccfg); + +return cfg; +} + +
ignite git commit: ignite-9720
Repository: ignite Updated Branches: refs/heads/ignite-9720 c6b090511 -> 28a76b3bb ignite-9720 Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/28a76b3b Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/28a76b3b Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/28a76b3b Branch: refs/heads/ignite-9720 Commit: 28a76b3bb60759f5d812e5333c1ab429b88b88e3 Parents: c6b0905 Author: sboikov Authored: Mon Oct 22 13:40:33 2018 +0300 Committer: sboikov Committed: Mon Oct 22 13:40:33 2018 +0300 -- .../cache/persistence/GridCacheOffheapManager.java | 2 +- .../processors/cache/persistence/LazyCacheFreeList.java | 8 .../processors/cache/persistence/freelist/FreeList.java | 1 - .../processors/cache/persistence/freelist/PagesList.java | 4 +++- 4 files changed, 8 insertions(+), 7 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/28a76b3b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheOffheapManager.java -- 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 22249cd..909b31f 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 @@ -1368,7 +1368,7 @@ public class GridCacheOffheapManager extends IgniteCacheOffheapManagerImpl imple RootPage reuseRoot = metas.reuseListRoot; freeList = new LazyCacheFreeList() { -@Override protected CacheFreeList createDelegate() throws IgniteCheckedException { +@Override protected CacheFreeList createDelegate() throws IgniteCheckedException { return new PartitionCacheFreeList(grp, partId, reuseRoot); } }; http://git-wip-us.apache.org/repos/asf/ignite/blob/28a76b3b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/LazyCacheFreeList.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/LazyCacheFreeList.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/LazyCacheFreeList.java index 1cbd841..f077c2e 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/LazyCacheFreeList.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/LazyCacheFreeList.java @@ -36,7 +36,7 @@ public abstract class LazyCacheFreeList implements CacheFreeList { AtomicReferenceFieldUpdater.newUpdater(LazyCacheFreeList.class, CountDownLatch.class, "initLatch"); /** */ -private volatile CacheFreeList delegate; +private volatile CacheFreeList delegate; /** */ private IgniteCheckedException initErr; @@ -119,14 +119,14 @@ public abstract class LazyCacheFreeList implements CacheFreeList { * @return Cache free list. * @throws IgniteCheckedException If failed. */ -protected abstract CacheFreeList createDelegate() throws IgniteCheckedException; +protected abstract CacheFreeList createDelegate() throws IgniteCheckedException; /** * @return Cache free list. * @throws IgniteCheckedException If failed to initialize free list. */ -private CacheFreeList initDelegateIfNeeded() throws IgniteCheckedException { -CacheFreeList delegate = this.delegate; +private CacheFreeList initDelegateIfNeeded() throws IgniteCheckedException { +CacheFreeList delegate = this.delegate; if (delegate != null) return delegate; http://git-wip-us.apache.org/repos/asf/ignite/blob/28a76b3b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/freelist/FreeList.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/freelist/FreeList.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/freelist/FreeList.java index 29e8400..284ca0a 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/freelist/FreeList.java +++
ignite git commit: ignite-9720
Repository: ignite Updated Branches: refs/heads/ignite-9720 057f4fdc7 -> c6b090511 ignite-9720 Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/c6b09051 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/c6b09051 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/c6b09051 Branch: refs/heads/ignite-9720 Commit: c6b0905111563473bcd4aabf53a1e620f62af190 Parents: 057f4fd Author: sboikov Authored: Mon Oct 22 13:33:01 2018 +0300 Committer: sboikov Committed: Mon Oct 22 13:33:01 2018 +0300 -- .../db/wal/WalRecoveryTxLogicalRecordsTest.java | 11 +-- 1 file changed, 9 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/c6b09051/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/WalRecoveryTxLogicalRecordsTest.java -- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/WalRecoveryTxLogicalRecordsTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/WalRecoveryTxLogicalRecordsTest.java index 261167a..a4ab456 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/WalRecoveryTxLogicalRecordsTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/WalRecoveryTxLogicalRecordsTest.java @@ -52,10 +52,11 @@ import org.apache.ignite.internal.processors.cache.IgniteRebalanceIterator; import org.apache.ignite.internal.processors.cache.distributed.dht.topology.GridDhtLocalPartition; import org.apache.ignite.internal.processors.cache.distributed.dht.preloader.IgniteDhtDemandedPartitionsMap; import org.apache.ignite.internal.processors.cache.persistence.CacheDataRow; +import org.apache.ignite.internal.processors.cache.persistence.CacheFreeList; import org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager; +import org.apache.ignite.internal.processors.cache.persistence.LazyCacheFreeList; import org.apache.ignite.internal.processors.cache.persistence.file.FilePageStoreManager; import org.apache.ignite.internal.processors.cache.persistence.freelist.AbstractFreeList; -import org.apache.ignite.internal.processors.cache.persistence.freelist.CacheFreeListImpl; import org.apache.ignite.internal.processors.cache.persistence.freelist.PagesList; import org.apache.ignite.internal.processors.cache.persistence.tree.reuse.ReuseListImpl; import org.apache.ignite.internal.util.typedef.F; @@ -871,7 +872,13 @@ public class WalRecoveryTxLogicalRecordsTest extends GridCommonAbstractTest { boolean foundTails = false; for (GridDhtLocalPartition part : parts) { -CacheFreeListImpl freeList = GridTestUtils.getFieldValue(part.dataStore(), "freeList"); +CacheFreeList freeList = GridTestUtils.getFieldValue(part.dataStore(), "freeList"); + +if (freeList instanceof LazyCacheFreeList) { +freeList.freeSpace(); // Force initialization. + +freeList = GridTestUtils.getFieldValue(freeList, LazyCacheFreeList.class, "delegate"); +} if (freeList == null) // Lazy store.
ignite git commit: ignite-9720
Repository: ignite Updated Branches: refs/heads/ignite-9720 [created] 057f4fdc7 ignite-9720 Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/057f4fdc Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/057f4fdc Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/057f4fdc Branch: refs/heads/ignite-9720 Commit: 057f4fdc7ede35779e98b09a7e9c7a7844f3d70e Parents: 82d2efe Author: sboikov Authored: Fri Oct 19 15:39:22 2018 +0300 Committer: sboikov Committed: Fri Oct 19 15:39:22 2018 +0300 -- .../cache/persistence/CacheFreeList.java| 32 .../persistence/GridCacheOffheapManager.java| 64 +-- .../IgniteCacheDatabaseSharedManager.java | 26 +-- .../cache/persistence/LazyCacheFreeList.java| 168 +++ .../persistence/freelist/AbstractFreeList.java | 9 +- .../cache/persistence/freelist/FreeList.java| 13 ++ .../cache/persistence/freelist/PagesList.java | 4 +- 7 files changed, 276 insertions(+), 40 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/057f4fdc/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/CacheFreeList.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/CacheFreeList.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/CacheFreeList.java new file mode 100644 index 000..2d79cd6 --- /dev/null +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/CacheFreeList.java @@ -0,0 +1,32 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.ignite.internal.processors.cache.persistence; + +import org.apache.ignite.IgniteCheckedException; +import org.apache.ignite.internal.processors.cache.persistence.freelist.FreeList; +import org.apache.ignite.internal.processors.cache.persistence.tree.reuse.ReuseList; + +/** + * + */ +public interface CacheFreeList extends FreeList, ReuseList { +/** + * @throws IgniteCheckedException If failed. + */ +public void saveMetadata() throws IgniteCheckedException; +} http://git-wip-us.apache.org/repos/asf/ignite/blob/057f4fdc/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheOffheapManager.java -- 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 cb682f6..22249cd 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 @@ -65,6 +65,7 @@ import org.apache.ignite.internal.processors.cache.distributed.dht.topology.Grid import org.apache.ignite.internal.processors.cache.mvcc.MvccSnapshot; import org.apache.ignite.internal.processors.cache.mvcc.MvccVersion; import org.apache.ignite.internal.processors.cache.persistence.freelist.CacheFreeListImpl; +import org.apache.ignite.internal.processors.cache.persistence.freelist.FreeList; import org.apache.ignite.internal.processors.cache.persistence.migration.UpgradePendingTreeToPerPartitionTask; import org.apache.ignite.internal.processors.cache.persistence.pagemem.PageMemoryEx; import org.apache.ignite.internal.processors.cache.persistence.partstate.GroupPartitionId; @@ -246,7 +247,7 @@ public class GridCacheOffheapManager extends IgniteCacheOffheapManagerImpl imple RowStore rowStore0 = store.rowStore(); if (rowStore0 != null) { -CacheFreeListImpl freeList = (CacheFreeListImpl)rowStore0.freeList(); +CacheFreeList freeList = (CacheFreeList)rowStore0.freeList();