You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ib...@apache.org on 2021/04/20 07:29:48 UTC

[ignite] branch master updated: IGNITE-14497 Move background task deletion at the end of next checkpoint (#8983)

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

ibessonov 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 6c402ed  IGNITE-14497 Move background task deletion at the end of next checkpoint (#8983)
6c402ed is described below

commit 6c402edcf174f595b90923aa80d2baf1feb90c5a
Author: makedonskaya <62...@users.noreply.github.com>
AuthorDate: Tue Apr 20 10:29:26 2021 +0300

    IGNITE-14497 Move background task deletion at the end of next checkpoint (#8983)
---
 .../localtask/DurableBackgroundTasksProcessor.java     | 13 +++++++++----
 .../db/LongDestroyDurableBackgroundTaskTest.java       | 18 +++++++++++-------
 2 files changed, 20 insertions(+), 11 deletions(-)

diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/localtask/DurableBackgroundTasksProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/localtask/DurableBackgroundTasksProcessor.java
index 267e91a..c703df4 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/localtask/DurableBackgroundTasksProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/localtask/DurableBackgroundTasksProcessor.java
@@ -272,10 +272,7 @@ public class DurableBackgroundTasksProcessor extends GridProcessorAdapter implem
 
     /** {@inheritDoc} */
     @Override public void onMarkCheckpointBegin(Context ctx) {
-        for (DurableBackgroundTask task : durableBackgroundTasks.values()) {
-            if (task.isCompleted())
-                removeDurableBackgroundTask(task);
-        }
+        /* No op. */
     }
 
     /** {@inheritDoc} */
@@ -287,4 +284,12 @@ public class DurableBackgroundTasksProcessor extends GridProcessorAdapter implem
     @Override public void beforeCheckpointBegin(Context ctx) {
         /* No op. */
     }
+
+    /** {@inheritDoc} */
+    @Override public void afterCheckpointEnd(Context ctx) {
+        for (DurableBackgroundTask task : durableBackgroundTasks.values()) {
+            if (task.isCompleted())
+                removeDurableBackgroundTask(task);
+        }
+    }
 }
diff --git a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/LongDestroyDurableBackgroundTaskTest.java b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/LongDestroyDurableBackgroundTaskTest.java
index 52fa941..5c4cb04 100644
--- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/LongDestroyDurableBackgroundTaskTest.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/LongDestroyDurableBackgroundTaskTest.java
@@ -684,7 +684,7 @@ public class LongDestroyDurableBackgroundTaskTest extends GridCommonAbstractTest
     }
 
     /**
-     * Tests that task removed from metastorage in beginning of next checkpoint.
+     * Tests that completed task removed from metastorage in the ending of next checkpoint.
      *
      * @throws Exception If failed.
      */
@@ -692,6 +692,8 @@ public class LongDestroyDurableBackgroundTaskTest extends GridCommonAbstractTest
     public void testIndexDeletionTaskRemovedAfterCheckpointFinished() throws Exception {
         prepareAndPopulateCluster(1, false, true);
 
+        assertFalse(durableBackgroundTaskTestLsnr.check());
+
         awaitLatch(pendingDelLatch, "Test timed out: failed to await for durable background task completion.");
 
         forceCheckpoint();
@@ -831,8 +833,12 @@ public class LongDestroyDurableBackgroundTaskTest extends GridCommonAbstractTest
         }
 
         /** {@inheritDoc} */
-        @Override public void onMarkCheckpointBegin(Context ctx) {
-            /* No op. */
+        @Override public void onMarkCheckpointBegin(Context ctx) throws IgniteCheckedException {
+            savedTasks.clear();
+
+            metastorage.iterate(STORE_DURABLE_BACKGROUND_TASK_PREFIX,
+                (key, val) -> savedTasks.add(key),
+                true);
         }
 
         /** {@inheritDoc} */
@@ -841,10 +847,8 @@ public class LongDestroyDurableBackgroundTaskTest extends GridCommonAbstractTest
         }
 
         /** {@inheritDoc} */
-        @Override public void beforeCheckpointBegin(Context ctx) throws IgniteCheckedException {
-            metastorage.iterate(STORE_DURABLE_BACKGROUND_TASK_PREFIX,
-                    (key, val) -> savedTasks.add(key),
-                    true);
+        @Override public void beforeCheckpointBegin(Context ctx) {
+            /* No op. */
         }
     }
 }