This is an automated email from the ASF dual-hosted git repository. sergeychugunov 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 f852ba7 IGNITE-13814 restorePartitionStates moved to sys pool instead of striped pool. - Fixes #8542. f852ba7 is described below commit f852ba7c9c0cc1eb3c02d59d2ce0ba5e69dc8566 Author: ibessonov <bessonov...@gmail.com> AuthorDate: Wed Dec 9 14:55:11 2020 +0300 IGNITE-13814 restorePartitionStates moved to sys pool instead of striped pool. - Fixes #8542. Signed-off-by: Sergey Chugunov <sergey.chugu...@gmail.com> --- .../internal/processors/cache/GridCacheProcessor.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) 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 4a1aceb..ae33bf8 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 @@ -33,6 +33,7 @@ import java.util.UUID; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; import java.util.concurrent.CountDownLatch; +import java.util.concurrent.ExecutorService; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicLong; @@ -150,7 +151,6 @@ import org.apache.ignite.internal.suggestions.GridPerformanceSuggestions; import org.apache.ignite.internal.util.F0; import org.apache.ignite.internal.util.IgniteCollectors; import org.apache.ignite.internal.util.InitializationProtector; -import org.apache.ignite.internal.util.StripedExecutor; import org.apache.ignite.internal.util.future.GridCompoundFuture; import org.apache.ignite.internal.util.future.GridFinishedFuture; import org.apache.ignite.internal.util.future.GridFutureAdapter; @@ -192,7 +192,6 @@ import static java.lang.String.format; import static java.util.Arrays.asList; import static java.util.Objects.isNull; import static java.util.Objects.nonNull; -import static org.apache.ignite.IgniteSystemProperties.IGNITE_ALLOW_START_CACHES_IN_PARALLEL; import static org.apache.ignite.IgniteSystemProperties.IGNITE_CACHE_REMOVED_ENTRIES_TTL; import static org.apache.ignite.IgniteSystemProperties.IGNITE_SKIP_CONFIGURATION_CONSISTENCY_CHECK; import static org.apache.ignite.IgniteSystemProperties.getBoolean; @@ -5465,12 +5464,12 @@ public class GridCacheProcessor extends GridProcessorAdapter { AtomicReference<IgniteCheckedException> restoreStateError = new AtomicReference<>(); - StripedExecutor stripedExec = ctx.getStripedExecutorService(); + ExecutorService sysPool = ctx.getSystemExecutorService(); - int roundRobin = 0; + CountDownLatch completionLatch = new CountDownLatch(forGroups.size()); for (CacheGroupContext grp : forGroups) { - stripedExec.execute(roundRobin % stripedExec.stripesCount(), () -> { + sysPool.execute(() -> { try { long processed = grp.offheap().restorePartitionStates(partitionStates); @@ -5487,14 +5486,15 @@ public class GridCacheProcessor extends GridProcessorAdapter { : new IgniteCheckedException(e) ); } + finally { + completionLatch.countDown(); + } }); - - roundRobin++; } try { // Await completion restore state tasks in all stripes. - stripedExec.awaitComplete(); + completionLatch.await(); } catch (InterruptedException e) { throw new IgniteInterruptedException(e);