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 <[email protected]>
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. */
}
}
}