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 2018/09/25 15:46:45 UTC
[38/49] tinkerpop git commit: TINKERPOP-2030 Cancelled keep-alive
tasks are removed from queue
TINKERPOP-2030 Cancelled keep-alive tasks are removed from queue
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/207c660a
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/207c660a
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/207c660a
Branch: refs/heads/TINKERPOP-2039
Commit: 207c660a17a45df79c154720ba088d1852d80b4e
Parents: 0426797
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Thu Sep 20 16:25:34 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Fri Sep 21 21:39:19 2018 -0400
----------------------------------------------------------------------
CHANGELOG.asciidoc | 1 +
.../tinkerpop/gremlin/driver/Cluster.java | 23 +++++++++++---------
2 files changed, 14 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/207c660a/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index c1e8b56..9431d98 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -31,6 +31,7 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
* Fixed bug in traversals that used Python lambdas with strategies in `gremlin-python`.
* Modified Maven archetype for Gremlin Server to use remote traversals rather than scripts.
* Added an system error code for failed plugin installs for Gremlin Server `-i` option.
+* Fixed bug in keep-alive requests from over-queuing cancelled jobs.
* Match numbers in `choose()` options using `NumberHelper` (match values, ignore data type).
* Added support for GraphSON serialization of `Date` in Javascript.
* Added synchronized `Map` to Gryo 1.0 registrations.
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/207c660a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Cluster.java
----------------------------------------------------------------------
diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Cluster.java b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Cluster.java
index 33ff574..9adaaa1 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Cluster.java
+++ b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Cluster.java
@@ -62,6 +62,7 @@ import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.ScheduledThreadPoolExecutor;
import java.util.concurrent.atomic.AtomicReference;
import java.util.stream.Collectors;
@@ -703,7 +704,7 @@ public final class Cluster {
this.keyPassword = keyPassword;
return this;
}
-
+
/**
* The file location of the private key in JKS or PKCS#12 format.
*/
@@ -711,7 +712,7 @@ public final class Cluster {
this.keyStore = keyStore;
return this;
}
-
+
/**
* The password of the {@link #keyStore}, or {@code null} if it's not password-protected.
*/
@@ -719,7 +720,7 @@ public final class Cluster {
this.keyStorePassword = keyStorePassword;
return this;
}
-
+
/**
* The file location for a SSL Certificate Chain to use when SSL is enabled. If
* this value is not provided and SSL is enabled, the default {@link TrustManager} will be used.
@@ -728,7 +729,7 @@ public final class Cluster {
this.trustStore = trustStore;
return this;
}
-
+
/**
* The password of the {@link #trustStore}, or {@code null} if it's not password-protected.
*/
@@ -736,7 +737,7 @@ public final class Cluster {
this.trustStorePassword = trustStorePassword;
return this;
}
-
+
/**
* The format of the {@link #keyStore}, either {@code JKS} or {@code PKCS12}
*/
@@ -744,7 +745,7 @@ public final class Cluster {
this.keyStoreType = keyStoreType;
return this;
}
-
+
/**
* A list of SSL protocols to enable. @see <a href=
* "https://docs.oracle.com/javase/8/docs/technotes/guides/security/SunProviders.html#SunJSSE_Protocols">JSSE
@@ -754,7 +755,7 @@ public final class Cluster {
this.sslEnabledProtocols = sslEnabledProtocols;
return this;
}
-
+
/**
* A list of cipher suites to enable. @see <a href=
* "https://docs.oracle.com/javase/8/docs/technotes/guides/security/SunProviders.html#SupportedCipherSuites">Cipher
@@ -764,7 +765,7 @@ public final class Cluster {
this.sslCipherSuites = sslCipherSuites;
return this;
}
-
+
/**
* If true, trust all certificates and do not perform any validation.
*/
@@ -1020,7 +1021,7 @@ public final class Cluster {
private final AuthProperties authProps;
private final Optional<SslContext> sslContextOptional;
- private final ScheduledExecutorService executor;
+ private final ScheduledThreadPoolExecutor executor;
private final int nioPoolSize;
private final int workerPoolSize;
@@ -1074,8 +1075,10 @@ public final class Cluster {
this.factory = new Factory(builder.nioPoolSize);
this.serializer = builder.serializer;
- this.executor = Executors.newScheduledThreadPool(builder.workerPoolSize,
+
+ this.executor = new ScheduledThreadPoolExecutor(builder.workerPoolSize,
new BasicThreadFactory.Builder().namingPattern("gremlin-driver-worker-%d").build());
+ this.executor.setRemoveOnCancelPolicy(true);
}
private void validateBuilder(final Builder builder) {