This is an automated email from the ASF dual-hosted git repository.
jin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-hugegraph.git
The following commit(s) were added to refs/heads/master by this push:
new cf9ba8b31 fix(core): task restore interrupt problem on restart server
(#2401)
cf9ba8b31 is described below
commit cf9ba8b31009d68bb6ea8952b8f90c96bc37ba5c
Author: xiaoleizi2016 <[email protected]>
AuthorDate: Fri Dec 29 12:04:54 2023 +0800
fix(core): task restore interrupt problem on restart server (#2401)
* Update StandardTaskScheduler.java
---
.../main/java/org/apache/hugegraph/task/StandardTaskScheduler.java | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
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 120aeb0d6..99b7e8cb7 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 @@ public class StandardTaskScheduler implements TaskScheduler
{
@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 @@ public class StandardTaskScheduler implements TaskScheduler
{
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 @@ public class StandardTaskScheduler implements
TaskScheduler {
}
} while (page != null);
}
+ for (HugeTask<V> task : taskList){
+ LOG.info("restore task {}", task);
+ this.restore(task);
+ }
}
private <V> Future<?> restore(HugeTask<V> task) {