From 921efba17c13d51f5f2f93a86e651d8d987ad961 Mon Sep 17 00:00:00 2001 From: zhangyi51 Date: Tue, 12 Jan 2021 16:08:41 +0800 Subject: [PATCH 1/2] fix ttl not work due to job not close tx Change-Id: Ic4a3bc11e67f92c88772149d5c304a2c1da0ec64 --- .../src/main/java/com/baidu/hugegraph/job/SysJob.java | 6 +++++- .../src/main/java/com/baidu/hugegraph/job/UserJob.java | 6 +++++- .../main/java/com/baidu/hugegraph/task/TaskCallable.java | 8 +++++++- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/job/SysJob.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/job/SysJob.java index 5a7d58fc71..283374c080 100644 --- a/hugegraph-core/src/main/java/com/baidu/hugegraph/job/SysJob.java +++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/job/SysJob.java @@ -31,7 +31,11 @@ public V call() throws Exception { @Override protected void done() { - this.save(); + try { + this.save(); + } finally { + super.done(); + } } @Override diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/job/UserJob.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/job/UserJob.java index f00cf44809..bc3ba03724 100644 --- a/hugegraph-core/src/main/java/com/baidu/hugegraph/job/UserJob.java +++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/job/UserJob.java @@ -31,7 +31,11 @@ public V call() throws Exception { @Override protected void done() { - this.save(); + try { + this.save(); + } finally { + super.done(); + } } @Override diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/task/TaskCallable.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/task/TaskCallable.java index 8bec1645ea..5f475d6503 100644 --- a/hugegraph-core/src/main/java/com/baidu/hugegraph/task/TaskCallable.java +++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/task/TaskCallable.java @@ -48,13 +48,19 @@ public TaskCallable() { } protected void done() { - // Do nothing, subclasses may override this method + this.closeTx(); } protected void cancelled() { // Do nothing, subclasses may override this method } + protected void closeTx() { + if (this.graph().tx().isOpen()) { + this.graph().tx().close(); + } + } + public void setMinSaveInterval(long seconds) { E.checkArgument(seconds > 0, "Must set interval > 0, bug got '%s'", seconds); From 404723193d6de6f2349a33cfc2a92763354ad70a Mon Sep 17 00:00:00 2001 From: zhangyi51 Date: Wed, 13 Jan 2021 15:39:59 +0800 Subject: [PATCH 2/2] improve Change-Id: I0f473063f6df1e43170f01a655a87a1c790f028a --- .../main/java/com/baidu/hugegraph/task/TaskCallable.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/task/TaskCallable.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/task/TaskCallable.java index 5f475d6503..ce3d26c644 100644 --- a/hugegraph-core/src/main/java/com/baidu/hugegraph/task/TaskCallable.java +++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/task/TaskCallable.java @@ -22,6 +22,7 @@ import java.util.Date; import java.util.concurrent.Callable; +import org.apache.tinkerpop.gremlin.structure.Transaction; import org.slf4j.Logger; import com.baidu.hugegraph.HugeException; @@ -56,8 +57,9 @@ protected void cancelled() { } protected void closeTx() { - if (this.graph().tx().isOpen()) { - this.graph().tx().close(); + Transaction tx = this.graph().tx(); + if (tx.isOpen()) { + tx.close(); } }