You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by sp...@apache.org on 2015/03/16 15:19:58 UTC
incubator-tinkerpop git commit: If scriptEvaluationTimeout is zero or
less no AST is applied for timeout transforms.
Repository: incubator-tinkerpop
Updated Branches:
refs/heads/master cbb64cc59 -> a4d8a41bd
If scriptEvaluationTimeout is zero or less no AST is applied for timeout transforms.
Project: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/commit/a4d8a41b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/tree/a4d8a41b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/diff/a4d8a41b
Branch: refs/heads/master
Commit: a4d8a41bd1065b7df1a51de3e3ac05220b6b1496
Parents: cbb64cc
Author: Stephen Mallette <sp...@apache.org>
Authored: Mon Mar 16 10:18:22 2015 -0400
Committer: Stephen Mallette <sp...@apache.org>
Committed: Mon Mar 16 10:18:22 2015 -0400
----------------------------------------------------------------------
.../gremlin/groovy/engine/GremlinExecutor.java | 2 +-
.../groovy/jsr223/GremlinGroovyScriptEngine.java | 14 ++++++++++----
2 files changed, 11 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/a4d8a41b/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/engine/GremlinExecutor.java
----------------------------------------------------------------------
diff --git a/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/engine/GremlinExecutor.java b/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/engine/GremlinExecutor.java
index 6ea4ccf..8fcd776 100644
--- a/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/engine/GremlinExecutor.java
+++ b/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/engine/GremlinExecutor.java
@@ -445,7 +445,7 @@ public class GremlinExecutor implements AutoCloseable {
* to the {@link GremlinExecutor#eval}).
*
* @param scriptEvaluationTimeout Time in milliseconds that a script is allowed to run and its
- * results potentially transformed.
+ * results potentially transformed. Set to zero to have no timeout set.
*/
public Builder scriptEvaluationTimeout(final long scriptEvaluationTimeout) {
this.scriptEvaluationTimeout = scriptEvaluationTimeout;
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/a4d8a41b/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GremlinGroovyScriptEngine.java
----------------------------------------------------------------------
diff --git a/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GremlinGroovyScriptEngine.java b/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GremlinGroovyScriptEngine.java
index e00f59c..bbf45ea 100644
--- a/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GremlinGroovyScriptEngine.java
+++ b/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GremlinGroovyScriptEngine.java
@@ -127,6 +127,9 @@ public class GremlinGroovyScriptEngine extends GroovyScriptEngineImpl implements
private ImportCustomizerProvider importCustomizerProvider;
private Optional<SecurityCustomizerProvider> securityProvider;
+ /**
+ * If this value is zero then no timeout is applied.
+ */
private final long scriptEvaluationTimeout;
private final Set<Artifact> artifactsToUse = new HashSet<>();
@@ -477,10 +480,13 @@ public class GremlinGroovyScriptEngine extends GroovyScriptEngineImpl implements
if (this.securityProvider.isPresent())
conf.addCompilationCustomizers(this.securityProvider.get().getCompilationCustomizer());
- final Map<String,Object> annotationParams = new HashMap<>();
- annotationParams.put("value", scriptEvaluationTimeout);
- annotationParams.put("unit", GeneralUtils.propX(GeneralUtils.classX(TimeUnit.class), TimeUnit.MILLISECONDS.toString()));
- conf.addCompilationCustomizers(new ASTTransformationCustomizer(annotationParams, TimedInterrupt.class));
+ if (scriptEvaluationTimeout > 0) {
+ final Map<String, Object> timedInterruptAnnotationParams = new HashMap<>();
+ timedInterruptAnnotationParams.put("value", scriptEvaluationTimeout);
+ timedInterruptAnnotationParams.put("unit", GeneralUtils.propX(GeneralUtils.classX(TimeUnit.class), TimeUnit.MILLISECONDS.toString()));
+ conf.addCompilationCustomizers(new ASTTransformationCustomizer(timedInterruptAnnotationParams, TimedInterrupt.class));
+ }
+
conf.addCompilationCustomizers(new ASTTransformationCustomizer(ThreadInterrupt.class));
this.loader = new GremlinGroovyClassLoader(getParentLoader(), conf);