From 7313e09a35a07d15b6032dbd387e753b83f63948 Mon Sep 17 00:00:00 2001 From: Pavel Kovalenko Date: Wed, 19 Dec 2018 18:00:06 +0300 Subject: [PATCH 1/2] IGNITE-10465 Wait for local join before start TTL cleanup worker Signed-off-by: Pavel Kovalenko --- .../processors/cache/GridCacheSharedTtlCleanupManager.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSharedTtlCleanupManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSharedTtlCleanupManager.java index ad2342b15110f..615926eee7406 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSharedTtlCleanupManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSharedTtlCleanupManager.java @@ -130,6 +130,8 @@ private class CleanupWorker extends GridWorker { Throwable err = null; try { + cctx.discovery().localJoin(); + while (!isCancelled()) { boolean expiredRemains = false; From 8bb3aa4a14a9db3772faffc4cbe7f5ad4b783c9b Mon Sep 17 00:00:00 2001 From: Pavel Kovalenko Date: Wed, 19 Dec 2018 18:01:30 +0300 Subject: [PATCH 2/2] IGNITE-10465 Wait for local join before start TTL cleanup worker Signed-off-by: Pavel Kovalenko --- .../cache/GridCacheSharedTtlCleanupManager.java | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSharedTtlCleanupManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSharedTtlCleanupManager.java index 615926eee7406..3934ad94a0867 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSharedTtlCleanupManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSharedTtlCleanupManager.java @@ -132,20 +132,19 @@ private class CleanupWorker extends GridWorker { try { cctx.discovery().localJoin(); + assert !cctx.kernalContext().recoveryMode(); + while (!isCancelled()) { boolean expiredRemains = false; - // TTL cleanup is allowed only when node joined to topology. - if (!cctx.kernalContext().recoveryMode()) { - for (GridCacheTtlManager mgr : mgrs) { - updateHeartbeat(); + for (GridCacheTtlManager mgr : mgrs) { + updateHeartbeat(); - if (mgr.expire(CLEANUP_WORKER_ENTRIES_PROCESS_LIMIT)) - expiredRemains = true; + if (mgr.expire(CLEANUP_WORKER_ENTRIES_PROCESS_LIMIT)) + expiredRemains = true; - if (isCancelled()) - return; - } + if (isCancelled()) + return; } updateHeartbeat();