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/22 01:39:34 UTC
[1/4] tinkerpop git commit: Make closing of connections robust
TINKERPOP-2026 [Forced Update!]
Repository: tinkerpop
Updated Branches:
refs/heads/TINKERPOP-2030 564236ed6 -> 207c660a1 (forced update)
Make closing of connections robust TINKERPOP-2026
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/4965803a
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/4965803a
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/4965803a
Branch: refs/heads/TINKERPOP-2030
Commit: 4965803ae8e9283817e0171e1c463014c9166970
Parents: 3afc576
Author: Florian Hockmann <fh...@florian-hockmann.de>
Authored: Sat Sep 1 17:02:23 2018 +0200
Committer: Florian Hockmann <fh...@florian-hockmann.de>
Committed: Sat Sep 1 17:02:23 2018 +0200
----------------------------------------------------------------------
.../Gremlin.Net/Driver/WebSocketConnection.cs | 19 ++++++++++++++++---
1 file changed, 16 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/4965803a/gremlin-dotnet/src/Gremlin.Net/Driver/WebSocketConnection.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Driver/WebSocketConnection.cs b/gremlin-dotnet/src/Gremlin.Net/Driver/WebSocketConnection.cs
index 9672606..b5a4cc8 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Driver/WebSocketConnection.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Driver/WebSocketConnection.cs
@@ -43,11 +43,24 @@ namespace Gremlin.Net.Driver
public async Task CloseAsync()
{
- await
- _client.CloseAsync(WebSocketCloseStatus.NormalClosure, string.Empty, CancellationToken.None)
- .ConfigureAwait(false);
+ if (CloseAlreadyInitiated) return;
+
+ try
+ {
+ await
+ _client.CloseAsync(WebSocketCloseStatus.NormalClosure, string.Empty, CancellationToken.None)
+ .ConfigureAwait(false);
+ }
+ catch (Exception)
+ {
+ // Swallow exceptions silently as there is nothing to do when closing fails
+ }
}
+ private bool CloseAlreadyInitiated => _client.State == WebSocketState.Closed ||
+ _client.State == WebSocketState.Aborted ||
+ _client.State == WebSocketState.CloseSent;
+
public async Task SendMessageAsync(byte[] message)
{
await
[2/4] tinkerpop git commit: Merge remote-tracking branch
'origin/TINKERPOP-2026' into tp32
Posted by sp...@apache.org.
Merge remote-tracking branch 'origin/TINKERPOP-2026' into tp32
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/4bdf0d21
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/4bdf0d21
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/4bdf0d21
Branch: refs/heads/TINKERPOP-2030
Commit: 4bdf0d212af4eba5f841ce27e751dfd9f1b8a9bc
Parents: af73f45 4965803
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Fri Sep 21 15:12:29 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Fri Sep 21 15:12:29 2018 -0400
----------------------------------------------------------------------
.../Gremlin.Net/Driver/WebSocketConnection.cs | 19 ++++++++++++++++---
1 file changed, 16 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
[4/4] tinkerpop git commit: TINKERPOP-2030 Cancelled keep-alive tasks
are removed from queue
Posted by sp...@apache.org.
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-2030
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) {
[3/4] tinkerpop git commit: Updated changelog CTR
Posted by sp...@apache.org.
Updated changelog CTR
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/0426797a
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/0426797a
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/0426797a
Branch: refs/heads/TINKERPOP-2030
Commit: 0426797a5a3da5b05a35cbbf075dc4100d5d5412
Parents: 4bdf0d2
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Fri Sep 21 15:15:50 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Fri Sep 21 15:15:50 2018 -0400
----------------------------------------------------------------------
CHANGELOG.asciidoc | 1 +
1 file changed, 1 insertion(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/0426797a/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 948f8df..c1e8b56 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -46,6 +46,7 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
* Fixed bug in `branch()` where reducing steps as options would produce incorrect results.
* Removed recursive handling of streaming results from Gremlin-Python driver to avoid max recursion depth errors.
* Improved performance of `TraversalVertexProgram` and related infrastructure.
+* Checked web socket state before closing connection in the .NET driver.
* Deprecated `BulkLoaderVertexProgram` and related infrastructure.
* Deprecated `BulkDumperVertexProgram` with the more aptly named `CloneVertexProgram`.
* Added `createGratefulDead()` to `TinkerFactory` to help make it easier to try to instantiate that toy graph.