fix(core): task restore interrupt problem on restart server (#2401)
* Update StandardTaskScheduler.java
diff --git a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/task/StandardTaskScheduler.java b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/task/StandardTaskScheduler.java
index 120aeb0..99b7e8c 100644
--- a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/task/StandardTaskScheduler.java
+++ b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/task/StandardTaskScheduler.java
@@ -142,6 +142,7 @@
@Override
public <V> void restoreTasks() {
Id selfServer = this.serverManager().selfNodeId();
+ List<HugeTask<V>> taskList = new ArrayList<>();
// Restore 'RESTORING', 'RUNNING' and 'QUEUED' tasks in order.
for (TaskStatus status : TaskStatus.PENDING_STATUSES) {
String page = this.supportsPaging() ? PageInfo.PAGE_NONE : null;
@@ -151,7 +152,7 @@
iter.hasNext();) {
HugeTask<V> task = iter.next();
if (selfServer.equals(task.server())) {
- this.restore(task);
+ taskList.add(task);
}
}
if (page != null) {
@@ -159,6 +160,10 @@
}
} while (page != null);
}
+ for (HugeTask<V> task : taskList){
+ LOG.info("restore task {}", task);
+ this.restore(task);
+ }
}
private <V> Future<?> restore(HugeTask<V> task) {