Repository: tinkerpop
Updated Branches:
  refs/heads/TINKERPOP-2030 [created] 564236ed6


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/564236ed
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/564236ed
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/564236ed

Branch: refs/heads/TINKERPOP-2030
Commit: 564236ed6aa84682fa5f25d07347d8dfcf73b69a
Parents: af73f45
Author: Stephen Mallette <[email protected]>
Authored: Thu Sep 20 16:25:34 2018 -0400
Committer: Stephen Mallette <[email protected]>
Committed: Thu Sep 20 16:25:34 2018 -0400

----------------------------------------------------------------------
 .../tinkerpop/gremlin/driver/Cluster.java       | 23 +++++++++++---------
 1 file changed, 13 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/564236ed/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) {

Reply via email to