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) {

Reply via email to