[GitHub] [tinkerpop] rdtr commented on a change in pull request #1235: TINKERPOP-2320 allow to pass custom XmlInputFactory when instantiating GraphMLReader

2019-12-16 Thread GitBox
rdtr commented on a change in pull request #1235: TINKERPOP-2320 allow to pass 
custom XmlInputFactory when instantiating GraphMLReader
URL: https://github.com/apache/tinkerpop/pull/1235#discussion_r358436400
 
 

 ##
 File path: CHANGELOG.asciidoc
 ##
 @@ -27,6 +27,7 @@ 
image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 * Deprecated `TraversalStrategies.applyStrategies()`.
 * Deprecated Jython support in `gremlin-python`.
 * Reverted: Modified Java driver to use IP address rather than hostname to 
create connections.
+* TINKERPOP-2320 Allow custom XMLInputFactory to be used with GraphMLReader.
 
 Review comment:
   OK, removed it. Thanks!


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [tinkerpop] rdtr commented on a change in pull request #1235: TINKERPOP-2320 allow to pass custom XmlInputFactory when instantiating GraphMLReader

2019-12-16 Thread GitBox
rdtr commented on a change in pull request #1235: TINKERPOP-2320 allow to pass 
custom XmlInputFactory when instantiating GraphMLReader
URL: https://github.com/apache/tinkerpop/pull/1235#discussion_r358436759
 
 

 ##
 File path: 
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphml/GraphMLReader.java
 ##
 @@ -381,7 +383,18 @@ public Builder batchSize(final long batchSize) {
 return this;
 }
 
+/**
+ * the key to use as the inputFactory when a caller wants to pass 
XMLInputFactory with its own configuration.
+ */
+public Builder xmlInputFactory(final XMLInputFactory inputFactory) {
+this.inputFactory = inputFactory;
+return this;
+}
+
 public GraphMLReader create() {
+if (this.xmlInputFactory() == null) {
 
 Review comment:
   Sorry I was lazy... this should have been
   ```
   if (this.inputFactory == null)
   ```
   I updated the PR. Thanks!


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [tinkerpop] spmallette commented on a change in pull request #1235: TINKERPOP-2320 allow to pass custom XmlInputFactory when instantiating GraphMLReader

2019-12-16 Thread GitBox
spmallette commented on a change in pull request #1235: TINKERPOP-2320 allow to 
pass custom XmlInputFactory when instantiating GraphMLReader
URL: https://github.com/apache/tinkerpop/pull/1235#discussion_r358423729
 
 

 ##
 File path: 
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphml/GraphMLReader.java
 ##
 @@ -381,7 +383,18 @@ public Builder batchSize(final long batchSize) {
 return this;
 }
 
+/**
+ * the key to use as the inputFactory when a caller wants to pass 
XMLInputFactory with its own configuration.
+ */
+public Builder xmlInputFactory(final XMLInputFactory inputFactory) {
+this.inputFactory = inputFactory;
+return this;
+}
+
 public GraphMLReader create() {
+if (this.xmlInputFactory() == null) {
 
 Review comment:
   does this line compile? `xmlInputFactory` isn't a method is it? shouldn't 
you remove those parenthesis and just do: `if (this.xmlInputFactory == null) {`


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [tinkerpop] spmallette commented on a change in pull request #1235: TINKERPOP-2320 allow to pass custom XmlInputFactory when instantiating GraphMLReader

2019-12-16 Thread GitBox
spmallette commented on a change in pull request #1235: TINKERPOP-2320 allow to 
pass custom XmlInputFactory when instantiating GraphMLReader
URL: https://github.com/apache/tinkerpop/pull/1235#discussion_r358422996
 
 

 ##
 File path: CHANGELOG.asciidoc
 ##
 @@ -27,6 +27,7 @@ 
image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 * Deprecated `TraversalStrategies.applyStrategies()`.
 * Deprecated Jython support in `gremlin-python`.
 * Reverted: Modified Java driver to use IP address rather than hostname to 
create connections.
+* TINKERPOP-2320 Allow custom XMLInputFactory to be used with GraphMLReader.
 
 Review comment:
   No need to add the JIRA number - those get added separately on release.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [tinkerpop] rdtr commented on issue #1230: TINKERPOP-2320 allow to pass custom XmlInputFactory when instantiating GraphMLReader

2019-12-16 Thread GitBox
rdtr commented on issue #1230: TINKERPOP-2320 allow to pass custom 
XmlInputFactory when instantiating GraphMLReader
URL: https://github.com/apache/tinkerpop/pull/1230#issuecomment-566202435
 
 
   I just created a new PR: https://github.com/apache/tinkerpop/pull/1235
   Let's continue the discussion there. Thanks!


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [tinkerpop] rdtr opened a new pull request #1235: TINKERPOP-2320 allow to pass custom XmlInputFactory when instantiating GraphMLReader

2019-12-16 Thread GitBox
rdtr opened a new pull request #1235: TINKERPOP-2320 allow to pass custom 
XmlInputFactory when instantiating GraphMLReader
URL: https://github.com/apache/tinkerpop/pull/1235
 
 
   This pull request is a revised one from 
https://github.com/apache/tinkerpop/pull/1230.
   
   Some provider wants to use XMLInputFactory with more secure configurations. 
This change makes it possible to pass XMLInputFactory when instantiating 
GraphMLReader.
   
   I don't add any tests right now, I want to first confirm if this direction 
is OK. If yes, please suggest any tests that I need to add. Thanks !


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [tinkerpop] rdtr commented on issue #1230: TINKERPOP-2320 allow to pass custom XmlInputFactory when instantiating GraphMLReader

2019-12-16 Thread GitBox
rdtr commented on issue #1230: TINKERPOP-2320 allow to pass custom 
XmlInputFactory when instantiating GraphMLReader
URL: https://github.com/apache/tinkerpop/pull/1230#issuecomment-566198227
 
 
   Sorry, rebasing directly on Github UI seems not a good solution to base onto 
`tp34`... I will make another PR. Thanks.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [tinkerpop] rdtr closed pull request #1230: TINKERPOP-2320 allow to pass custom XmlInputFactory when instantiating GraphMLReader

2019-12-16 Thread GitBox
rdtr closed pull request #1230: TINKERPOP-2320 allow to pass custom 
XmlInputFactory when instantiating GraphMLReader
URL: https://github.com/apache/tinkerpop/pull/1230
 
 
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [tinkerpop] spmallette opened a new pull request #1234: TINKERPOP-2175 Better manage the executor thread on close.

2019-12-16 Thread GitBox
spmallette opened a new pull request #1234: TINKERPOP-2175 Better manage the 
executor thread on close.
URL: https://github.com/apache/tinkerpop/pull/1234
 
 
   https://issues.apache.org/jira/browse/TINKERPOP-2175
   
   Pretty much implemented as described in the JIRA - make sense to me to check 
for an active channel in addition to writeability.
   
   Builds with `mvn clean install && mvn verify -pl gremlin-server 
-DskipIntegrationTests=false`
   
   VOTE +1


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[tinkerpop] 01/01: TINKERPOP-2175 Better manage the executor thread on close.

2019-12-16 Thread spmallette
This is an automated email from the ASF dual-hosted git repository.

spmallette pushed a commit to branch TINKERPOP-2175
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git

commit 02cee17db879521ef465a21676a0481cf8cd81a0
Author: stephen 
AuthorDate: Mon Dec 16 13:37:20 2019 -0500

TINKERPOP-2175 Better manage the executor thread on close.
---
 CHANGELOG.asciidoc| 1 +
 .../apache/tinkerpop/gremlin/server/op/AbstractOpProcessor.java   | 8 +++-
 .../gremlin/server/op/traversal/TraversalOpProcessor.java | 8 +++-
 3 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 83cab12..486e7d8 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -28,6 +28,7 @@ 
image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 * Bump to Tornado 5.x for gremlin-python.
 * Deprecated `TraversalStrategies.applyStrategies()`.
 * Deprecated Jython support in `gremlin-python`.
+* Improved Gremlin Server executor thread handling on client close requests.
 * Reverted: Modified Java driver to use IP address rather than hostname to 
create connections.
 
 [[release-3-3-9]]
diff --git 
a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/op/AbstractOpProcessor.java
 
b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/op/AbstractOpProcessor.java
index 0cd2d9e..03bf6fd 100644
--- 
a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/op/AbstractOpProcessor.java
+++ 
b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/op/AbstractOpProcessor.java
@@ -146,7 +146,13 @@ public abstract class AbstractOpProcessor implements 
OpProcessor {
 
 // send back a page of results if batch size is met or if it's the 
end of the results being iterated.
 // also check writeability of the channel to prevent OOME for slow 
clients.
-if (nettyContext.channel().isWritable()) {
+//
+// clients might decide to close the Netty channel to the server 
with a CloseWebsocketFrame after errors
+// like CorruptedFrameException. On the server, although the 
channel gets closed, there might be some
+// executor threads waiting for watermark to clear which will not 
clear in these cases since client has
+// already given up on these requests. This leads to these 
executors waiting for the client to consume
+// results till the timeout. checking for isActive() should help 
prevent that.
+if (nettyContext.channel().isActive() && 
nettyContext.channel().isWritable()) {
 if (forceFlush || aggregate.size() == resultIterationBatchSize 
|| !itty.hasNext()) {
 final ResponseStatusCode code = itty.hasNext() ? 
ResponseStatusCode.PARTIAL_CONTENT : ResponseStatusCode.SUCCESS;
 
diff --git 
a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/op/traversal/TraversalOpProcessor.java
 
b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/op/traversal/TraversalOpProcessor.java
index 7b7dbdb..8737a9a 100644
--- 
a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/op/traversal/TraversalOpProcessor.java
+++ 
b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/op/traversal/TraversalOpProcessor.java
@@ -561,7 +561,13 @@ public class TraversalOpProcessor extends 
AbstractOpProcessor {
 
 // send back a page of results if batch size is met or if it's the 
end of the results being iterated.
 // also check writeability of the channel to prevent OOME for slow 
clients.
-if (nettyContext.channel().isWritable()) {
+//
+// clients might decide to close the Netty channel to the server 
with a CloseWebsocketFrame after errors
+// like CorruptedFrameException. On the server, although the 
channel gets closed, there might be some
+// executor threads waiting for watermark to clear which will not 
clear in these cases since client has
+// already given up on these requests. This leads to these 
executors waiting for the client to consume
+// results till the timeout. checking for isActive() should help 
prevent that.
+if (nettyContext.channel().isActive() && 
nettyContext.channel().isWritable()) {
 if (forceFlush || aggregate.size() == resultIterationBatchSize 
|| !itty.hasNext()) {
 final ResponseStatusCode code = itty.hasNext() ? 
ResponseStatusCode.PARTIAL_CONTENT : ResponseStatusCode.SUCCESS;
 



[tinkerpop] branch TINKERPOP-2175 created (now 02cee17)

2019-12-16 Thread spmallette
This is an automated email from the ASF dual-hosted git repository.

spmallette pushed a change to branch TINKERPOP-2175
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git.


  at 02cee17  TINKERPOP-2175 Better manage the executor thread on close.

This branch includes the following new commits:

 new 02cee17  TINKERPOP-2175 Better manage the executor thread on close.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.




[tinkerpop] 18/20: TINKERPOP-2076 Polished up benchmarking dependencies

2019-12-16 Thread spmallette
This is an automated email from the ASF dual-hosted git repository.

spmallette pushed a commit to branch TINKERPOP-2076
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git

commit c7c9d6d8abf105cd9083fc440d5bae2a430ff3b9
Author: stephen 
AuthorDate: Tue Nov 12 18:57:11 2019 -0500

TINKERPOP-2076 Polished up benchmarking dependencies
---
 gremlin-tools/gremlin-benchmark/pom.xml | 13 -
 1 file changed, 13 deletions(-)

diff --git a/gremlin-tools/gremlin-benchmark/pom.xml 
b/gremlin-tools/gremlin-benchmark/pom.xml
index e2e75a0..4dbc742 100644
--- a/gremlin-tools/gremlin-benchmark/pom.xml
+++ b/gremlin-tools/gremlin-benchmark/pom.xml
@@ -69,18 +69,6 @@ limitations under the License.
 jmh-core
 ${jmh.version}
 
-
-
-javax.annotation
-javax.annotation-api
-1.3.2
-provided
-
 
 org.openjdk.jmh
 jmh-generator-annprocess
@@ -90,7 +78,6 @@ limitations under the License.
 
 org.slf4j
 slf4j-log4j12
-true
 
 
 



[tinkerpop] 12/20: TINKERPOP-2076 Cleaned up references to "java 8"

2019-12-16 Thread spmallette
This is an automated email from the ASF dual-hosted git repository.

spmallette pushed a commit to branch TINKERPOP-2076
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git

commit 734f51fae330182990dc8ecacfa50c3639f2dec3
Author: stephen 
AuthorDate: Tue Nov 12 08:08:53 2019 -0500

TINKERPOP-2076 Cleaned up references to "java 8"
---
 CHANGELOG.asciidoc|  1 +
 docs/site/home/providers.html |  2 +-
 docs/src/dev/developer/for-committers.asciidoc|  2 +-
 docs/src/dev/provider/index.asciidoc  |  4 ++--
 docs/src/reference/gremlin-applications.asciidoc  |  2 +-
 docs/src/reference/implementations-tinkergraph.asciidoc   |  2 +-
 docs/src/upgrade/appendix.asciidoc|  4 ++--
 .../src/main/resources/archetype-resources/README.asciidoc|  4 ++--
 .../src/main/resources/archetype-resources/pom.xml|  9 +
 .../src/main/resources/archetype-resources/README.asciidoc|  4 ++--
 .../src/main/resources/archetype-resources/pom.xml| 11 ++-
 .../src/main/resources/archetype-resources/README.asciidoc|  4 ++--
 .../src/main/resources/archetype-resources/pom.xml|  9 +
 .../gremlin/tinkergraph/process/computer/TinkerMessenger.java |  2 +-
 14 files changed, 32 insertions(+), 28 deletions(-)

diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 6f070c7..3d84c34 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -43,6 +43,7 @@ This release also includes changes from <>.
 * Configured GraphSON 3.0 as the default text serialization format when no 
serializer can be determined.
 * Bumped to Neo4j 3.4.11.
 * Bumped to Spark 3.0.0.
+* Supported build for Java 11.
 * Added a parameterized `TypeTranslator` for use with `GroovyTranslator` that 
should produce more cache hits.
 * Added support for `TextP` in Neo4j using its string search functions.
 * Changed `TraversalStrategy` application methodology to apply each strategy 
in turn to each level of the traversal hierarchy starting from root down to 
children.
diff --git a/docs/site/home/providers.html b/docs/site/home/providers.html
index 093b5e2..e9136b7 100644
--- a/docs/site/home/providers.html
+++ b/docs/site/home/providers.html
@@ -280,7 +280,7 @@ WHERE(Created.by(Friends.of("gremlin")))
  
  
 http://tinkerpop.apache.org/docs/current/reference/#_on_gremlin_language_variants";>
-http://tinkerpop.apache.org/docs/current/reference/#_on_gremlin_language_variants";>Gremlin-Java
 represents Gremlin inside the Java8 language. Gremlin-Java is considered the 
canonical, reference implementation of Gremlin and is the primary compiler for 
all lambda-free bytecode due to its speed relative to other script-based, JVM 
variants.
+http://tinkerpop.apache.org/docs/current/reference/#_on_gremlin_language_variants";>Gremlin-Java
 represents Gremlin inside the Java language. Gremlin-Java is considered the 
canonical, reference implementation of Gremlin and is the primary compiler for 
all lambda-free bytecode due to its speed relative to other script-based, JVM 
variants.
  
   
   
diff --git a/docs/src/dev/developer/for-committers.asciidoc 
b/docs/src/dev/developer/for-committers.asciidoc
index f835190..9ae3fcf 100644
--- a/docs/src/dev/developer/for-committers.asciidoc
+++ b/docs/src/dev/developer/for-committers.asciidoc
@@ -226,7 +226,7 @@ When writing a Java test case for a Gremlin step, be sure 
to use the following c
 ** `get_g_V_groupCount_byXnameX()`
 ** `get_g_V_groupCountXaX_byXnameX_capXaX()`
 * The name of the actual test case should be the name of the traversal 
generator minus the `get_` prefix.
-* The Gremlin-Groovy version of the test should use the sugar syntax in order 
to test sugar (as Gremlin-Java8 tests test standard syntax).
+* The Gremlin-Groovy version of the test should use the sugar syntax in order 
to test sugar (as Gremlin-Java tests test standard syntax).
 ** `g.V.age.sum`
 * Avoid using lambdas in the test case unless that is explicitly what is being 
tested as OLAP systems will typically not be able to execute those tests.
 * `AbstractGremlinProcessTest` has various static methods to make writing a 
test case easy.
diff --git a/docs/src/dev/provider/index.asciidoc 
b/docs/src/dev/provider/index.asciidoc
index 91beaf1..33263d3 100644
--- a/docs/src/dev/provider/index.asciidoc
+++ b/docs/src/dev/provider/index.asciidoc
@@ -39,7 +39,7 @@ This document attempts to address the needs of the different 
providers that have
 [[graph-system-provider-requirements]]
 == Graph System Provider Requirements
 
-image:tinkerpop-enabled.png[width=140,float=left] At the core of TinkerPop 3.x 
is a Java8 API. The implementation of this
+image:tinkerpop-enabled.png[width=140,float=left] At the core of TinkerPop 3.x 
is a Java API. The implementation of this
 core API

[tinkerpop] 11/20: TINKERPOP-2076 Made docker build compatible with jdk11

2019-12-16 Thread spmallette
This is an automated email from the ASF dual-hosted git repository.

spmallette pushed a commit to branch TINKERPOP-2076
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git

commit 22128b666b53407c32a238541f3a2c95ed79d8a8
Author: stephen 
AuthorDate: Tue Nov 12 07:35:05 2019 -0500

TINKERPOP-2076 Made docker build compatible with jdk11
---
 docker/Dockerfile | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/docker/Dockerfile b/docker/Dockerfile
index 1095ca0..0995a1a 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -25,21 +25,21 @@ RUN add-apt-repository ppa:openjdk-r/ppa
 RUN sh -c 'curl -s 
https://packages.microsoft.com/config/ubuntu/16.04/packages-microsoft-prod.deb 
-o packages-microsoft-prod.deb'
 RUN sh -c 'dpkg -i packages-microsoft-prod.deb'
 RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 
3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
-RUN apt-get install apt-transport-https ca-certificates
+RUN apt-get install apt-transport-https gnupg ca-certificates
 RUN sh -c 'echo "deb https://download.mono-project.com/repo/ubuntu 
stable-xenial main" | tee /etc/apt/sources.list.d/mono-official-stable.list'
 RUN apt-get update
-RUN apt-get install -y openjdk-8-jdk gawk git maven openssh-server subversion 
zip
+RUN apt-get install -y openjdk-11-jdk gawk git maven openssh-server subversion 
zip
 RUN apt-get install -y --force-yes dotnet-sdk-2.2 python python-dev 
python3-dev python-pip build-essential mono-devel
 RUN pip install virtualenv virtualenvwrapper
 RUN pip install --upgrade pip
-RUN rm -rf /var/lib/apt/lists/* /var/cache/openjdk-8-jdk
+RUN rm -rf /var/lib/apt/lists/* /var/cache/openjdk-11-jdk
 
 RUN sed -i 's@PermitRootLogin without-password@PermitRootLogin yes@' 
/etc/ssh/sshd_config
 RUN sed -i 's@session\s*required\s*pam_loginuid.so@session optional 
pam_loginuuid.so@g' /etc/pam.d/sshd
 RUN ssh-keygen -t rsa -f ~/.ssh/id_rsa -N '' \
 && cat ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys
 
-ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64
+ENV JAVA_HOME /usr/lib/jvm/java-11-openjdk-amd64
 
 RUN sed -i 's/.*"$PS1".*/# \0/' ~/.bashrc
 RUN echo "export JAVA_HOME=${JAVA_HOME}" >> ~/.bashrc



[tinkerpop] 06/20: TINKERPOP-2076 Fixed mockito usage after rebase

2019-12-16 Thread spmallette
This is an automated email from the ASF dual-hosted git repository.

spmallette pushed a commit to branch TINKERPOP-2076
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git

commit 4baad9c9e0b20f869c31e7f65f846d5f9fedc322
Author: stephen 
AuthorDate: Mon Nov 11 21:06:30 2019 -0500

TINKERPOP-2076 Fixed mockito usage after rebase
---
 .../driver/ser/binary/GraphBinaryMessageSerializerV1Test.java |  7 ---
 .../ser/binary/GraphBinaryReaderWriterRoundTripTest.java  | 11 ++-
 .../ser/binary/types/sample/SamplePersonSerializerTest.java   |  5 +++--
 3 files changed, 13 insertions(+), 10 deletions(-)

diff --git 
a/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ser/binary/GraphBinaryMessageSerializerV1Test.java
 
b/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ser/binary/GraphBinaryMessageSerializerV1Test.java
index d0042ff..45a6a13 100644
--- 
a/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ser/binary/GraphBinaryMessageSerializerV1Test.java
+++ 
b/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ser/binary/GraphBinaryMessageSerializerV1Test.java
@@ -35,6 +35,7 @@ import java.util.Map;
 import java.util.UUID;
 import java.util.concurrent.atomic.AtomicInteger;
 
+import static org.hamcrest.core.Is.is;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertThat;
 
@@ -54,7 +55,7 @@ public class GraphBinaryMessageSerializerV1Test {
 final int mimeLen = buffer.readByte();
 buffer.readBytes(new byte[mimeLen]);
 final RequestMessage deserialized = 
serializer.deserializeRequest(buffer);
-assertThat(request, new ReflectionEquals(deserialized));
+assertThat(new ReflectionEquals(deserialized).matches(request), 
is(true));
 }
 
 @Test
@@ -68,7 +69,7 @@ public class GraphBinaryMessageSerializerV1Test {
 final int mimeLen = buffer.readByte();
 buffer.readBytes(new byte[mimeLen]);
 final RequestMessage deserialized = 
serializer.deserializeRequest(buffer);
-assertThat(request, new ReflectionEquals(deserialized));
+assertThat(new ReflectionEquals(deserialized).matches(request), 
is(true));
 }
 
 @Test
@@ -82,7 +83,7 @@ public class GraphBinaryMessageSerializerV1Test {
 final int mimeLen = buffer.readByte();
 buffer.readBytes(new byte[mimeLen]);
 final RequestMessage deserialized = 
serializer.deserializeRequest(buffer);
-assertThat(request, new ReflectionEquals(deserialized));
+assertThat(new ReflectionEquals(deserialized).matches(request), 
is(true));
 }
 
 @Test
diff --git 
a/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ser/binary/GraphBinaryReaderWriterRoundTripTest.java
 
b/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ser/binary/GraphBinaryReaderWriterRoundTripTest.java
index ea7254d..d6aa701 100644
--- 
a/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ser/binary/GraphBinaryReaderWriterRoundTripTest.java
+++ 
b/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ser/binary/GraphBinaryReaderWriterRoundTripTest.java
@@ -87,6 +87,7 @@ import java.util.concurrent.TimeUnit;
 import java.util.function.Consumer;
 
 import static 
org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.hasLabel;
+import static org.hamcrest.core.Is.is;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertThat;
 
@@ -265,19 +266,19 @@ public class GraphBinaryReaderWriterRoundTripTest {
 new Object[] {"BulkSet", bulkSet, null},
 new Object[] {"Tree", tree, null},
 new Object[] {"EmptyMetrics", new MutableMetrics("idEmpty", 
"nameEmpty"), (Consumer) m -> {
-assertThat(m, new ReflectionEquals(new 
MutableMetrics("idEmpty", "nameEmpty")));
+assertThat(new ReflectionEquals(new 
MutableMetrics("idEmpty", "nameEmpty")).matches(m), is(true));
 }},
 new Object[] {"Metrics", metrics, (Consumer) m -> {
-assertThat(m, new ReflectionEquals(metrics, "nested", 
"counts"));
+assertThat(new ReflectionEquals(metrics, "nested", 
"counts").matches(m), is(true));
 assertEquals(new ArrayList(metrics.getCounts().values()), 
new ArrayList(m.getCounts().values()));
-assertThat(m.getNested(), new 
ReflectionEquals(metrics.getNested()));
+assertThat(new 
ReflectionEquals(metrics.getNested()).matches(m.getNested()), is(true));
 }},
 new Object[] {"EmptyTraversalMetrics", emptyTraversalMetrics, 
(Consumer) m -> {
-assertThat(m, new ReflectionEquals(emptyTraversalMetrics));
+assertThat(new 
ReflectionEquals(emptyTraversalMetrics).matches(m), is(true));
 }},
 new Object[] {"TraversalMet

[tinkerpop] 17/20: TINKERPOP-2076 Registered scala.reflect.ManifestFactory$AnyManifest with gryo

2019-12-16 Thread spmallette
This is an automated email from the ASF dual-hosted git repository.

spmallette pushed a commit to branch TINKERPOP-2076
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git

commit e9b44a001aeddd0782c143479e49c7067754f0c0
Author: stephen 
AuthorDate: Tue Nov 12 17:57:05 2019 -0500

TINKERPOP-2076 Registered scala.reflect.ManifestFactory$AnyManifest with 
gryo

Seems we did need some sort of replacement for 
scala.reflect.ManifestFactory$$anon$1
---
 .../tinkerpop/gremlin/spark/structure/io/gryo/GryoRegistrator.java   | 1 +
 .../apache/tinkerpop/gremlin/spark/structure/io/gryo/GryoSerializer.java | 1 +
 2 files changed, 2 insertions(+)

diff --git 
a/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/structure/io/gryo/GryoRegistrator.java
 
b/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/structure/io/gryo/GryoRegistrator.java
index 4b64ddc..d0e46da 100644
--- 
a/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/structure/io/gryo/GryoRegistrator.java
+++ 
b/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/structure/io/gryo/GryoRegistrator.java
@@ -198,6 +198,7 @@ public class GryoRegistrator implements KryoRegistrator {
 // the ordering of the existing entries in that constructor, since not 
all
 // of the entries are for TinkerPop (and the ordering is significant).
 try {
+m.put(Class.forName("scala.reflect.ManifestFactory$AnyManifest"), 
new JavaSerializer());
 m.put(Class.forName("scala.reflect.ClassTag$GenericClassTag"), new 
JavaSerializer());
 
m.put(Class.forName("org.apache.spark.internal.io.FileCommitProtocol$TaskCommitMessage"),
 new JavaSerializer());
 
m.put(Class.forName("org.apache.spark.internal.io.FileCommitProtocol$EmptyTaskCommitMessage$"),
 new JavaSerializer());
diff --git 
a/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/structure/io/gryo/GryoSerializer.java
 
b/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/structure/io/gryo/GryoSerializer.java
index 9b21744..2dce832 100644
--- 
a/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/structure/io/gryo/GryoSerializer.java
+++ 
b/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/structure/io/gryo/GryoSerializer.java
@@ -138,6 +138,7 @@ public final class GryoSerializer extends Serializer 
implements Serializable {
 super.register(GryoIo.class, TorrentBroadcast.class, null);
 super.register(GryoIo.class, PythonBroadcast.class, null);
 super.register(GryoIo.class, BoxedUnit.class, null);
+super.register(GryoIo.class, 
Class.forName("scala.reflect.ManifestFactory$AnyManifest"), new 
JavaSerializer());
 super.register(GryoIo.class, 
Class.forName("scala.reflect.ClassTag$GenericClassTag"), new JavaSerializer());
 super.register(GryoIo.class, 
Class.forName("org.apache.spark.internal.io.FileCommitProtocol$TaskCommitMessage"),
 new JavaSerializer());
 super.register(GryoIo.class, 
Class.forName("org.apache.spark.internal.io.FileCommitProtocol$EmptyTaskCommitMessage$"),
 new JavaSerializer());



[tinkerpop] 09/20: TINKERPOP-2076 Fixed bad merge operation in the MemoryAccumulator

2019-12-16 Thread spmallette
This is an automated email from the ASF dual-hosted git repository.

spmallette pushed a commit to branch TINKERPOP-2076
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git

commit f03cb4303f8215461beaec85e1bb3d7dc3ef7b99
Author: stephen 
AuthorDate: Tue Nov 12 05:06:58 2019 -0500

TINKERPOP-2076 Fixed bad merge operation in the MemoryAccumulator
---
 .../tinkerpop/gremlin/spark/process/computer/MemoryAccumulator.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git 
a/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/process/computer/MemoryAccumulator.java
 
b/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/process/computer/MemoryAccumulator.java
index cc7b8de..fa72eb0 100644
--- 
a/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/process/computer/MemoryAccumulator.java
+++ 
b/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/process/computer/MemoryAccumulator.java
@@ -60,7 +60,7 @@ public final class MemoryAccumulator extends 
AccumulatorV2,
 public void add(final ObjectWritable v) {
 if (this.value.isEmpty())
 this.value = v;
-if (!v.isEmpty())
+else if (!v.isEmpty())
 this.value = new 
ObjectWritable<>(this.memoryComputeKey.getReducer().apply(value.get(), 
v.get()));
 }
 



[tinkerpop] 10/20: TINKERPOP-2076 Minor adjustments to gryo registrations to get spark integration tests passing

2019-12-16 Thread spmallette
This is an automated email from the ASF dual-hosted git repository.

spmallette pushed a commit to branch TINKERPOP-2076
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git

commit d332568c54afa95510abbd9fb4842fe5edce26ed
Author: stephen 
AuthorDate: Tue Nov 12 06:16:03 2019 -0500

TINKERPOP-2076 Minor adjustments to gryo registrations to get spark 
integration tests passing
---
 .../tinkerpop/gremlin/spark/structure/io/gryo/GryoRegistrator.java  | 2 +-
 .../tinkerpop/gremlin/spark/structure/io/gryo/GryoSerializer.java   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git 
a/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/structure/io/gryo/GryoRegistrator.java
 
b/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/structure/io/gryo/GryoRegistrator.java
index d1f7725..4b64ddc 100644
--- 
a/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/structure/io/gryo/GryoRegistrator.java
+++ 
b/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/structure/io/gryo/GryoRegistrator.java
@@ -198,7 +198,7 @@ public class GryoRegistrator implements KryoRegistrator {
 // the ordering of the existing entries in that constructor, since not 
all
 // of the entries are for TinkerPop (and the ordering is significant).
 try {
-m.put(Class.forName("scala.reflect.ClassTag$$anon$1"), new 
JavaSerializer());
+m.put(Class.forName("scala.reflect.ClassTag$GenericClassTag"), new 
JavaSerializer());
 
m.put(Class.forName("org.apache.spark.internal.io.FileCommitProtocol$TaskCommitMessage"),
 new JavaSerializer());
 
m.put(Class.forName("org.apache.spark.internal.io.FileCommitProtocol$EmptyTaskCommitMessage$"),
 new JavaSerializer());
 
diff --git 
a/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/structure/io/gryo/GryoSerializer.java
 
b/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/structure/io/gryo/GryoSerializer.java
index 6fba103..9b21744 100644
--- 
a/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/structure/io/gryo/GryoSerializer.java
+++ 
b/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/structure/io/gryo/GryoSerializer.java
@@ -138,7 +138,7 @@ public final class GryoSerializer extends Serializer 
implements Serializable {
 super.register(GryoIo.class, TorrentBroadcast.class, null);
 super.register(GryoIo.class, PythonBroadcast.class, null);
 super.register(GryoIo.class, BoxedUnit.class, null);
-super.register(GryoIo.class, 
Class.forName("scala.reflect.ClassTag$$anon$1"), new JavaSerializer());
+super.register(GryoIo.class, 
Class.forName("scala.reflect.ClassTag$GenericClassTag"), new JavaSerializer());
 super.register(GryoIo.class, 
Class.forName("org.apache.spark.internal.io.FileCommitProtocol$TaskCommitMessage"),
 new JavaSerializer());
 super.register(GryoIo.class, 
Class.forName("org.apache.spark.internal.io.FileCommitProtocol$EmptyTaskCommitMessage$"),
 new JavaSerializer());
 super.register(GryoIo.class, 
Class.forName("scala.collection.immutable.Map$EmptyMap$"), new 
JavaSerializer());



[tinkerpop] 16/20: TINKERPOP-2076 Use bionic for testing with travis and bump to jdk11

2019-12-16 Thread spmallette
This is an automated email from the ASF dual-hosted git repository.

spmallette pushed a commit to branch TINKERPOP-2076
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git

commit 68084c95d5d88b342bb04c32fce6ee4a85a7757c
Author: stephen 
AuthorDate: Tue Nov 12 16:39:28 2019 -0500

TINKERPOP-2076 Use bionic for testing with travis and bump to jdk11
---
 .travis.yml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 89a230f..aba58f1 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -2,9 +2,9 @@ language: java
 os:
   - linux
 jdk:
-  - openjdk8
+  - openjdk11
 sudo: required
-dist: xenial
+dist: bionic
 services:
   - docker
 cache:



[tinkerpop] 03/20: TINKERPOP-2076 Made expectations around mock more explicit

2019-12-16 Thread spmallette
This is an automated email from the ASF dual-hosted git repository.

spmallette pushed a commit to branch TINKERPOP-2076
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git

commit 129f42fea744b630f48f1aa708e2343373ee6f96
Author: Stephen Mallette 
AuthorDate: Wed Mar 6 14:56:17 2019 -0500

TINKERPOP-2076 Made expectations around mock more explicit

The upgrade of mockito must have tightened some requirements around 
stubbing and the use of nulls. Setting expected arguments seemed to get the 
test working as it was before.
---
 .../tinkerpop/gremlin/server/op/AbstractEvalOpProcessorTest.java   | 7 +--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git 
a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/op/AbstractEvalOpProcessorTest.java
 
b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/op/AbstractEvalOpProcessorTest.java
index f708159..8e12700 100644
--- 
a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/op/AbstractEvalOpProcessorTest.java
+++ 
b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/op/AbstractEvalOpProcessorTest.java
@@ -19,6 +19,7 @@
 package org.apache.tinkerpop.gremlin.server.op;
 
 import io.netty.channel.ChannelHandlerContext;
+import org.apache.tinkerpop.gremlin.driver.Tokens;
 import org.apache.tinkerpop.gremlin.driver.message.RequestMessage;
 import org.apache.tinkerpop.gremlin.driver.message.ResponseMessage;
 import org.apache.tinkerpop.gremlin.driver.message.ResponseStatusCode;
@@ -41,11 +42,13 @@ import static org.mockito.Matchers.anyString;
 
 public class AbstractEvalOpProcessorTest {
 
-@org.junit.Ignore
 @Test
 public void evalOpInternalShouldHandleAllEvaluationExceptions() throws 
OpProcessorException {
 final AbstractEvalOpProcessor processor = new StandardOpProcessor();
-final RequestMessage request = RequestMessage.build("test").create();
+final RequestMessage request = RequestMessage.build("test")
+.addArg(Tokens.ARGS_GREMLIN, "1+1")
+.addArg(Tokens.ARGS_LANGUAGE, "gremlin-groovy")
+.create();
 final Settings settings = new Settings();
 final ChannelHandlerContext ctx = 
Mockito.mock(ChannelHandlerContext.class);
 final ArgumentCaptor responseCaptor = 
ArgumentCaptor.forClass(ResponseMessage.class);



[tinkerpop] 05/20: TINKERPOP-2076 Fixed Gremlin Server integration tests after Java 11

2019-12-16 Thread spmallette
This is an automated email from the ASF dual-hosted git repository.

spmallette pushed a commit to branch TINKERPOP-2076
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git

commit 9651a5fa6f98894c569d1d11ce7da481b1f038d7
Author: Stephen Mallette 
AuthorDate: Thu Mar 7 07:37:53 2019 -0500

TINKERPOP-2076 Fixed Gremlin Server integration tests after Java 11
---
 .../tinkerpop/gremlin/server/GremlinDriverIntegrateTest.java | 12 +---
 .../gremlin/server/GremlinServerHttpIntegrateTest.java   |  2 +-
 2 files changed, 6 insertions(+), 8 deletions(-)

diff --git 
a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinDriverIntegrateTest.java
 
b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinDriverIntegrateTest.java
index d365de2..8a18720 100644
--- 
a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinDriverIntegrateTest.java
+++ 
b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinDriverIntegrateTest.java
@@ -490,7 +490,7 @@ public class GremlinDriverIntegrateTest extends 
AbstractGremlinServerIntegration
 final ResponseException rex = (ResponseException) inner;
 assertEquals("java.lang.ArithmeticException", 
rex.getRemoteExceptionHierarchy().get().get(0));
 assertEquals(1, rex.getRemoteExceptionHierarchy().get().size());
-assertThat(rex.getRemoteStackTrace().get(), 
startsWith("java.lang.ArithmeticException: Division by zero\n\tat 
java.math.BigDecimal.divide(BigDecimal.java"));
+assertThat(rex.getRemoteStackTrace().get(), 
startsWith("java.lang.ArithmeticException: Division by zero\n\tat 
java.base/java.math.BigDecimal.divide(BigDecimal.java"));
 }
 
 // should not die completely just because we had a bad serialization 
error.  that kind of stuff happens
@@ -925,12 +925,11 @@ public class GremlinDriverIntegrateTest extends 
AbstractGremlinServerIntegration
 final Cluster cluster = 
TestClientFactory.build().serializer(Serializers.GRAPHSON_V2D0).create();
 final Client client = cluster.connect();
 
-final Instant now = Instant.now();
-final List r = client.submit("java.time.Instant.ofEpochMilli(" 
+ now.toEpochMilli() + ")").all().join();
+final List r = 
client.submit("java.time.Instant.EPOCH").all().join();
 assertEquals(1, r.size());
 
 final Instant then = r.get(0).get(Instant.class);
-assertEquals(now, then);
+assertEquals(Instant.EPOCH, then);
 
 cluster.close();
 }
@@ -959,12 +958,11 @@ public class GremlinDriverIntegrateTest extends 
AbstractGremlinServerIntegration
 final Cluster cluster = 
TestClientFactory.build().serializer(Serializers.GRAPHSON_V3D0).create();
 final Client client = cluster.connect();
 
-final Instant now = Instant.now();
-final List r = client.submit("java.time.Instant.ofEpochMilli(" 
+ now.toEpochMilli() + ")").all().join();
+final List r = 
client.submit("java.time.Instant.EPOCH").all().join();
 assertEquals(1, r.size());
 
 final Instant then = r.get(0).get(Instant.class);
-assertEquals(now, then);
+assertEquals(Instant.EPOCH, then);
 
 cluster.close();
 }
diff --git 
a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerHttpIntegrateTest.java
 
b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerHttpIntegrateTest.java
index 0bd9ecf..43e5495 100644
--- 
a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerHttpIntegrateTest.java
+++ 
b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerHttpIntegrateTest.java
@@ -773,7 +773,7 @@ public class GremlinServerHttpIntegrateTest extends 
AbstractGremlinServerIntegra
 final JsonNode node = mapper.readTree(json);
 assertEquals("java.lang.ArithmeticException", 
node.get(Tokens.STATUS_ATTRIBUTE_EXCEPTIONS).get(0).asText());
 assertEquals(1, 
node.get(Tokens.STATUS_ATTRIBUTE_EXCEPTIONS).size());
-assertThat(node.get(Tokens.STATUS_ATTRIBUTE_STACK_TRACE).asText(), 
startsWith("java.lang.ArithmeticException: Division by zero\n\tat 
java.math.BigDecimal.divide(BigDecimal.java"));
+assertThat(node.get(Tokens.STATUS_ATTRIBUTE_STACK_TRACE).asText(), 
startsWith("java.lang.ArithmeticException: Division by zero\n\tat 
java.base/java.math.BigDecimal.divide(BigDecimal.java"));
 }
 }
 



[tinkerpop] branch TINKERPOP-2076 updated (23be220 -> 773616f)

2019-12-16 Thread spmallette
This is an automated email from the ASF dual-hosted git repository.

spmallette pushed a change to branch TINKERPOP-2076
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git.


 discard 23be220  TINKERPOP-2076 Minor fix to allow test to pass on Java 11
 discard 04ebf0a  updated user-facing docker base images to 
adoptopenjdk/openjdk11:alpine-slim
 discard b799e32  TINKERPOP-2076 Polished up benchmarking dependencies
 discard 0ab48c9  TINKERPOP-2076 Registered 
scala.reflect.ManifestFactory$AnyManifest with gryo
 discard 154cd3f  TINKERPOP-2076 Use bionic for testing with travis and bump to 
jdk11
 discard 377d386  TINKERPOP-2076 Re-enabled javadoc for gremlin-groovy
 discard 276541c  TINKERPOP-2076 Enforce java 11 with enforcer plugin
 discard 0b960c6  TINKERPOP-2076 More Java 11 documentation updates
 discard 563b467  TINKERPOP-2076 Cleaned up references to "java 8"
 discard f9ff8e6  TINKERPOP-2076 Made docker build compatible with jdk11
 discard f1e676c  TINKERPOP-2076 Minor adjustments to gryo registrations to get 
spark integration tests passing
 discard b53d056  TINKERPOP-2076 Fixed bad merge operation in the 
MemoryAccumulator
 discard e8ba1fb  TINKERPOP-2076 Removed a scala class registration from gryo
 discard f169a22  TINKERPOP-2076 Bump to spark 3.0 with jdk11 support
 discard 9cedc2f  TINKERPOP-2076 Fixed mockito usage after rebase
 discard 35f5c54  TINKERPOP-2076 Fixed Gremlin Server integration tests after 
Java 11
 discard 3cf3ffa  TINKERPOP-2076 Fixed failing GraphComputer test after Java 11 
upgrade
 discard 0acfde9  TINKERPOP-2076 Made expectations around mock more explicit
 discard 351d941  TINKERPOP-2076 Bumped Hadoop to 2.7.7
 discard bb17525  TINKERPOP-2076 Initial effort to get TinkerPop building on 
Java 11
 add 075991e  Make cluster be able to read files in classpath resource dir
 add 5929975  Merge branch 'pr-1227' into tp33
 add 272e0b1  Merge branch 'tp33' into tp34
 add 80aceda  Merge branch 'tp34'
 add 220a3bb  update requestId and userAgent in RequestMessage with 
RequestOptions
 add d4e6d34  Merge branch 'pr-1228' into tp34
 add 21d878e  Minor update to changelog
 add a129900  Merge branch 'tp34'
 add 67220e4  TINKERPOP-2037 Improved error for bad Channelizer 
configuration
 add ce3c798  Merge branch 'tp33' into tp34
 add 454f11c  Merge branch 'tp34'
 new 3a3e969  TINKERPOP-2076 Initial effort to get TinkerPop building on 
Java 11
 new 5409153  TINKERPOP-2076 Bumped Hadoop to 2.7.7
 new 129f42f  TINKERPOP-2076 Made expectations around mock more explicit
 new 28fb450  TINKERPOP-2076 Fixed failing GraphComputer test after Java 11 
upgrade
 new 9651a5f  TINKERPOP-2076 Fixed Gremlin Server integration tests after 
Java 11
 new 4baad9c  TINKERPOP-2076 Fixed mockito usage after rebase
 new 1bb0f75  TINKERPOP-2076 Bump to spark 3.0 with jdk11 support
 new ee4d946  TINKERPOP-2076 Removed a scala class registration from gryo
 new f03cb43  TINKERPOP-2076 Fixed bad merge operation in the 
MemoryAccumulator
 new d332568  TINKERPOP-2076 Minor adjustments to gryo registrations to get 
spark integration tests passing
 new 22128b6  TINKERPOP-2076 Made docker build compatible with jdk11
 new 734f51f  TINKERPOP-2076 Cleaned up references to "java 8"
 new 0ed51a2  TINKERPOP-2076 More Java 11 documentation updates
 new 03edb6b  TINKERPOP-2076 Enforce java 11 with enforcer plugin
 new 5da4fd1  TINKERPOP-2076 Re-enabled javadoc for gremlin-groovy
 new 68084c9  TINKERPOP-2076 Use bionic for testing with travis and bump to 
jdk11
 new e9b44a0  TINKERPOP-2076 Registered 
scala.reflect.ManifestFactory$AnyManifest with gryo
 new c7c9d6d  TINKERPOP-2076 Polished up benchmarking dependencies
 new bb961d2  updated user-facing docker base images to 
adoptopenjdk/openjdk11:alpine-slim
 new 773616f  TINKERPOP-2076 Minor fix to allow test to pass on Java 11

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (23be220)
\
 N -- N -- N   refs/heads/TINKERPOP-2076 (773616f)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 20 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 CHANGELOG.asciidoc |  3 ++
 .../apache/tinkerpop/gr

[tinkerpop] 13/20: TINKERPOP-2076 More Java 11 documentation updates

2019-12-16 Thread spmallette
This is an automated email from the ASF dual-hosted git repository.

spmallette pushed a commit to branch TINKERPOP-2076
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git

commit 0ed51a2dded29c193ad6c8bcad130569d58337ad
Author: stephen 
AuthorDate: Tue Nov 12 08:22:14 2019 -0500

TINKERPOP-2076 More Java 11 documentation updates
---
 README.asciidoc | 2 +-
 docs/src/dev/developer/development-environment.asciidoc | 4 ++--
 docs/src/upgrade/release-3.5.x.asciidoc | 8 +++-
 3 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/README.asciidoc b/README.asciidoc
index 65d885e..2733047 100644
--- a/README.asciidoc
+++ b/README.asciidoc
@@ -29,7 +29,7 @@ Apache TinkerPop™ provides graph computing capabilities for 
both graph databas
 
 === Building and Testing
 
-TinkerPop uses link:https://maven.apache.org/[Maven] and requires `Java 
1.8.0_40+` for proper building and proper operations. To build, execute unit 
tests and package Gremlin Console/Server run:
+TinkerPop uses link:https://maven.apache.org/[Maven] and requires `Java 11` 
for proper building and proper operations. To build, execute unit tests and 
package Gremlin Console/Server run:
 
 [source,bash]
 mvn clean install
diff --git a/docs/src/dev/developer/development-environment.asciidoc 
b/docs/src/dev/developer/development-environment.asciidoc
index ff8bd8d..771c4f7 100644
--- a/docs/src/dev/developer/development-environment.asciidoc
+++ b/docs/src/dev/developer/development-environment.asciidoc
@@ -24,8 +24,8 @@ configure a development environment for TinkerPop.
 [[system-configuration]]
 == System Configuration
 
-At a minimum, development of TinkerPop requires 
link:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html[Java
 1.8.0_40+]
-and link:https://maven.apache.org/download.cgi[Maven 3.2.5+]. Maven is used as 
the common build system, which even
+At a minimum, development of TinkerPop requires 
link:https://openjdk.java.net/projects/jdk/11/[Java 11]
+and link:https://maven.apache.org/download.cgi[Maven 3.3.9+]. Maven is used as 
the common build system, which even
 controls the builds of non-JVM 
link:http://tinkerpop.apache.org/docs/current/tutorials/gremlin-language-variants/[GLVs]
 such as `gremlin-python`. Java and Maven are described as a "minimum" for a 
development environment, because they
 will only build JVM portions of TinkerPop and many integration tests will not 
fire with this simple setup. It is
diff --git a/docs/src/upgrade/release-3.5.x.asciidoc 
b/docs/src/upgrade/release-3.5.x.asciidoc
index 2e8913e..9cf996a 100644
--- a/docs/src/upgrade/release-3.5.x.asciidoc
+++ b/docs/src/upgrade/release-3.5.x.asciidoc
@@ -29,6 +29,12 @@ Please see the 
link:https://github.com/apache/tinkerpop/blob/3.5.0/CHANGELOG.asc
 
 === Upgrading for Users
 
+ Java 11
+
+TinkerPop now builds and is compatible with Java 11.
+
+See: link:https://issues.apache.org/jira/browse/TINKERPOP-2076[TINKERPOP-2076]
+
  Gryo Usage
 
 Since the first release of TinkerPop 3.x, Gryo has been the default 
serialization format for Gremlin Server and
@@ -44,7 +50,7 @@ advisable to take this approach.
 
 For best compatibility between 3.4.x and 3.5.x, please use GraphBinary.
 
-link:https://issues.apache.org/jira/browse/TINKERPOP-2259[TINKERPOP-2259]
+See: link:https://issues.apache.org/jira/browse/TINKERPOP-2259[TINKERPOP-2259]
 
  Configuration Upgrade
 



[tinkerpop] 04/20: TINKERPOP-2076 Fixed failing GraphComputer test after Java 11 upgrade

2019-12-16 Thread spmallette
This is an automated email from the ASF dual-hosted git repository.

spmallette pushed a commit to branch TINKERPOP-2076
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git

commit 28fb450f61d86a0b95311bad47bdaac032a2e5a3
Author: Stephen Mallette 
AuthorDate: Wed Mar 6 15:26:00 2019 -0500

TINKERPOP-2076 Fixed failing GraphComputer test after Java 11 upgrade

Needed to explicitly count elements in ConcurrentSkipListSet as size() is 
not a constant-time operation. Wasn't failing at all on Java 8 but 11 made it 
fail every time.
---
 .../process/computer/GraphComputerTest.java| 27 ++
 1 file changed, 18 insertions(+), 9 deletions(-)

diff --git 
a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/computer/GraphComputerTest.java
 
b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/computer/GraphComputerTest.java
index d9bf2e1..a9ebd17 100644
--- 
a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/computer/GraphComputerTest.java
+++ 
b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/computer/GraphComputerTest.java
@@ -1168,7 +1168,7 @@ public class GraphComputerTest extends 
AbstractGremlinProcessTest {
 /
 
 /
-@org.junit.Ignore
+
 @Test
 @LoadGraphWith(MODERN)
 public void shouldStartAndEndWorkersForVertexProgramAndMapReduce() throws 
Exception {
@@ -1176,17 +1176,17 @@ public class GraphComputerTest extends 
AbstractGremlinProcessTest {
 MapReduceI.WORKER_END.clear();
 assertEquals(3, graphProvider.getGraphComputer(graph).program(new 
VertexProgramJ()).mapReduce(new 
MapReduceI()).submit().get().memory().get("a").intValue());
 if (MapReduceI.WORKER_START.size() == 2) {
-assertEquals(2, MapReduceI.WORKER_START.size());
+assertEquals(2, MapReduceI.countTrue(MapReduceI.WORKER_START));
 assertTrue(MapReduceI.WORKER_START.contains(MapReduce.Stage.MAP) 
&& MapReduceI.WORKER_START.contains(MapReduce.Stage.REDUCE));
 } else {
-assertEquals(3, MapReduceI.WORKER_START.size());
+assertEquals(3, MapReduceI.countTrue(MapReduceI.WORKER_START));
 assertTrue(MapReduceI.WORKER_START.contains(MapReduce.Stage.MAP) 
&& MapReduceI.WORKER_START.contains(MapReduce.Stage.COMBINE) && 
MapReduceI.WORKER_START.contains(MapReduce.Stage.REDUCE));
 }
 if (MapReduceI.WORKER_END.size() == 2) {
-assertEquals(2, MapReduceI.WORKER_END.size());
+assertEquals(2, MapReduceI.countTrue(MapReduceI.WORKER_END));
 assertTrue(MapReduceI.WORKER_END.contains(MapReduce.Stage.MAP) && 
MapReduceI.WORKER_END.contains(MapReduce.Stage.REDUCE));
 } else {
-assertEquals(3, MapReduceI.WORKER_END.size());
+assertEquals(3, MapReduceI.countTrue(MapReduceI.WORKER_END));
 assertTrue(MapReduceI.WORKER_END.contains(MapReduce.Stage.MAP) && 
MapReduceI.WORKER_END.contains(MapReduce.Stage.COMBINE) && 
MapReduceI.WORKER_END.contains(MapReduce.Stage.REDUCE));
 }
 }
@@ -1273,14 +1273,14 @@ public class GraphComputerTest extends 
AbstractGremlinProcessTest {
 @Override
 public void map(final Vertex vertex, final MapEmitter emitter) {
 emitter.emit(1);
-assertEquals(1, WORKER_START.size());
+assertEquals(1, countTrue(WORKER_START));
 assertTrue(WORKER_START.contains(Stage.MAP));
 }
 
 @Override
 public void combine(final NullObject key, final Iterator 
values, final ReduceEmitter emitter) {
 emitter.emit(2);
-assertEquals(2, WORKER_START.size());
+assertEquals(2, countTrue(WORKER_START));
 assertTrue(WORKER_START.contains(Stage.MAP) && 
WORKER_START.contains(Stage.COMBINE));
 assertFalse(WORKER_END.isEmpty());
 }
@@ -1289,10 +1289,10 @@ public class GraphComputerTest extends 
AbstractGremlinProcessTest {
 public void reduce(final NullObject key, final Iterator 
values, final ReduceEmitter emitter) {
 emitter.emit(3);
 if (WORKER_START.size() == 2) {
-assertEquals(2, WORKER_START.size());
+assertEquals(2, countTrue(WORKER_START));
 assertTrue(WORKER_START.contains(Stage.MAP) && 
WORKER_START.contains(Stage.REDUCE));
 } else {
-assertEquals(3, WORKER_START.size());
+assertEquals(3, countTrue(WORKER_START));
 assertTrue(WORKER_START.contains(Stage.MAP) && 
WORKER_START.contains(Stage.COMBINE) && WORKER_START.contains(Stage.REDUCE));
 }
 assertFalse(WORKER_END.isEmpty());
@@ -1316,6 +1316,15 @@ public class GraphComputerTest extends 
AbstractGremlinProcessTest {
 public String getMemoryKey() {
 return "a";
 }
+

[tinkerpop] 19/20: updated user-facing docker base images to adoptopenjdk/openjdk11:alpine-slim

2019-12-16 Thread spmallette
This is an automated email from the ASF dual-hosted git repository.

spmallette pushed a commit to branch TINKERPOP-2076
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git

commit bb961d252f3b27dcef8c91d65be62a59fee0ec25
Author: Robert Dale 
AuthorDate: Wed Nov 13 20:29:43 2019 -0500

updated user-facing docker base images to adoptopenjdk/openjdk11:alpine-slim
---
 gremlin-console/Dockerfile | 2 +-
 gremlin-server/Dockerfile  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/gremlin-console/Dockerfile b/gremlin-console/Dockerfile
index ff57227..3291d69 100644
--- a/gremlin-console/Dockerfile
+++ b/gremlin-console/Dockerfile
@@ -15,7 +15,7 @@
 # specific language governing permissions and limitations
 # under the License.
 
-FROM openjdk:8-jre-alpine
+FROM adoptopenjdk/openjdk11:alpine-slim
 
 LABEL maintainer="d...@tinkerpop.apache.org"
 
diff --git a/gremlin-server/Dockerfile b/gremlin-server/Dockerfile
index 3b1e849..fe8126a 100644
--- a/gremlin-server/Dockerfile
+++ b/gremlin-server/Dockerfile
@@ -15,7 +15,7 @@
 # specific language governing permissions and limitations
 # under the License.
 
-FROM openjdk:8-jre-alpine
+FROM adoptopenjdk/openjdk11:alpine-slim
 
 LABEL maintainer="d...@tinkerpop.apache.org"
 



[tinkerpop] 20/20: TINKERPOP-2076 Minor fix to allow test to pass on Java 11

2019-12-16 Thread spmallette
This is an automated email from the ASF dual-hosted git repository.

spmallette pushed a commit to branch TINKERPOP-2076
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git

commit 773616f14998b6dfd8a4ba608db3c36603238566
Author: stephen 
AuthorDate: Fri Dec 13 20:40:33 2019 -0500

TINKERPOP-2076 Minor fix to allow test to pass on Java 11

New tests fail with generics in this case. Had to just go with Object to 
allow things to work right.
---
 .../tinkerpop/gremlin/process/traversal/step/util/HasContainer.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/HasContainer.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/HasContainer.java
index 58f2350..9b30155 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/HasContainer.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/HasContainer.java
@@ -171,7 +171,7 @@ public class HasContainer implements Serializable, 
Cloneable, Predicate
 }
 }
 
-public static  boolean testAll(final S element, final 
List hasContainers) {
+public static boolean testAll(final Object element, final 
List hasContainers) {
 final boolean isProperty = element instanceof Property;
 for (final HasContainer hasContainer : hasContainers) {
 if (isProperty) {



[tinkerpop] 07/20: TINKERPOP-2076 Bump to spark 3.0 with jdk11 support

2019-12-16 Thread spmallette
This is an automated email from the ASF dual-hosted git repository.

spmallette pushed a commit to branch TINKERPOP-2076
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git

commit 1bb0f7599083bb40bd5106f1dbbaf96a1f64caa4
Author: stephen 
AuthorDate: Tue Nov 12 04:13:49 2019 -0500

TINKERPOP-2076 Bump to spark 3.0 with jdk11 support
---
 CHANGELOG.asciidoc |   3 +-
 gremlin-groovy/pom.xml |   2 +-
 pom.xml|   2 +-
 spark-gremlin/pom.xml  | 254 -
 .../spark/process/computer/MemoryAccumulator.java  |  47 ++--
 .../spark/process/computer/SparkMemory.java|  16 +-
 6 files changed, 93 insertions(+), 231 deletions(-)

diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 1e69301..6f070c7 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -41,7 +41,8 @@ This release also includes changes from <>.
 * Refactored `Traversal` semantics to always expect `EmptyStep` as a parent if 
it is meant to be the root `Traversal`.
 * Configured GraphBinary as the default binary serialization format for the 
Java Driver.
 * Configured GraphSON 3.0 as the default text serialization format when no 
serializer can be determined.
-* Upgraded to Neo4j 3.4.11.
+* Bumped to Neo4j 3.4.11.
+* Bumped to Spark 3.0.0.
 * Added a parameterized `TypeTranslator` for use with `GroovyTranslator` that 
should produce more cache hits.
 * Added support for `TextP` in Neo4j using its string search functions.
 * Changed `TraversalStrategy` application methodology to apply each strategy 
in turn to each level of the traversal hierarchy starting from root down to 
children.
diff --git a/gremlin-groovy/pom.xml b/gremlin-groovy/pom.xml
index c4373b4..b890a99 100644
--- a/gremlin-groovy/pom.xml
+++ b/gremlin-groovy/pom.xml
@@ -34,7 +34,7 @@ limitations under the License.
 
 org.apache.ivy
 ivy
-2.3.0
+2.4.0
 
 
 org.codehaus.groovy
diff --git a/pom.xml b/pom.xml
index cfc7073..35cc6bc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -159,7 +159,7 @@ limitations under the License.
 4.1.42.Final
 1.7.25
 1.15
-2.4.0
+3.0.0-preview
 
 UTF-8
 
UTF-8
diff --git a/spark-gremlin/pom.xml b/spark-gremlin/pom.xml
index 695d743..0d7a64d 100644
--- a/spark-gremlin/pom.xml
+++ b/spark-gremlin/pom.xml
@@ -32,7 +32,7 @@
 
 com.google.guava
 guava
-14.0.1
+16.0.1
 
 
 org.apache.tinkerpop
@@ -44,257 +44,105 @@
 hadoop-gremlin
 ${project.version}
 
-
-javax.servlet
-servlet-api
-
-
-javax.servlet
-javax.servlet-api
-
-
-com.sun.jersey
-jersey-core
-
-
-com.sun.jersey
-jersey-server
-
-
-commons-net
-commons-net
-
-
-commons-io
-commons-io
-
-
-com.google.guava
-guava
-
+
 
 org.xerial.snappy
 snappy-java
 
+
 
 org.apache.avro
 avro
 
+
 
 org.apache.commons
 commons-math3
 
+
 
 io.netty
-netty
+netty-all
 
+
+
+javax.activation
+activation
+
+
 
 io.netty
-netty-all
+netty
 
+
 
-com.thoughtworks.paranamer
-paranamer
+org.apache.commons
+commons-compress
 
 
 
 
 
 org.apache.spark
-spark-core_2.11
+spark-core_2.12
 ${spark.version}
 
-
-
-org.scala-lang
-scala-compiler
-
-
-org.apache.httpcomponents
-httpclient
-
-
-org.scala-lang.modules
-scala-xml_2.11
- 

[tinkerpop] 14/20: TINKERPOP-2076 Enforce java 11 with enforcer plugin

2019-12-16 Thread spmallette
This is an automated email from the ASF dual-hosted git repository.

spmallette pushed a commit to branch TINKERPOP-2076
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git

commit 03edb6bd816ea82c2b1aa67fd3d0467030396e7b
Author: stephen 
AuthorDate: Tue Nov 12 10:08:24 2019 -0500

TINKERPOP-2076 Enforce java 11 with enforcer plugin
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 35cc6bc..2cf098c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -201,7 +201,7 @@ limitations under the License.
 
 
 
-[1.8.0-40,)
+[11,)
 
 
 [3.3.9,)



[tinkerpop] 08/20: TINKERPOP-2076 Removed a scala class registration from gryo

2019-12-16 Thread spmallette
This is an automated email from the ASF dual-hosted git repository.

spmallette pushed a commit to branch TINKERPOP-2076
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git

commit ee4d9461ebebf8a93efa69c5b42fe2ff0a75080f
Author: stephen 
AuthorDate: Tue Nov 12 05:04:30 2019 -0500

TINKERPOP-2076 Removed a scala class registration from gryo

Not sure why that class was necessary as test seem to pass without it. I 
guess if it comes up again later, we'll just add it back.
---
 .../tinkerpop/gremlin/spark/structure/io/gryo/GryoRegistrator.java   | 1 -
 .../apache/tinkerpop/gremlin/spark/structure/io/gryo/GryoSerializer.java | 1 -
 2 files changed, 2 deletions(-)

diff --git 
a/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/structure/io/gryo/GryoRegistrator.java
 
b/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/structure/io/gryo/GryoRegistrator.java
index 13fc787..d1f7725 100644
--- 
a/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/structure/io/gryo/GryoRegistrator.java
+++ 
b/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/structure/io/gryo/GryoRegistrator.java
@@ -199,7 +199,6 @@ public class GryoRegistrator implements KryoRegistrator {
 // of the entries are for TinkerPop (and the ordering is significant).
 try {
 m.put(Class.forName("scala.reflect.ClassTag$$anon$1"), new 
JavaSerializer());
-m.put(Class.forName("scala.reflect.ManifestFactory$$anon$1"), new 
JavaSerializer());
 
m.put(Class.forName("org.apache.spark.internal.io.FileCommitProtocol$TaskCommitMessage"),
 new JavaSerializer());
 
m.put(Class.forName("org.apache.spark.internal.io.FileCommitProtocol$EmptyTaskCommitMessage$"),
 new JavaSerializer());
 
diff --git 
a/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/structure/io/gryo/GryoSerializer.java
 
b/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/structure/io/gryo/GryoSerializer.java
index 563c158..6fba103 100644
--- 
a/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/structure/io/gryo/GryoSerializer.java
+++ 
b/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/structure/io/gryo/GryoSerializer.java
@@ -139,7 +139,6 @@ public final class GryoSerializer extends Serializer 
implements Serializable {
 super.register(GryoIo.class, PythonBroadcast.class, null);
 super.register(GryoIo.class, BoxedUnit.class, null);
 super.register(GryoIo.class, 
Class.forName("scala.reflect.ClassTag$$anon$1"), new JavaSerializer());
-super.register(GryoIo.class, 
Class.forName("scala.reflect.ManifestFactory$$anon$1"), new JavaSerializer());
 super.register(GryoIo.class, 
Class.forName("org.apache.spark.internal.io.FileCommitProtocol$TaskCommitMessage"),
 new JavaSerializer());
 super.register(GryoIo.class, 
Class.forName("org.apache.spark.internal.io.FileCommitProtocol$EmptyTaskCommitMessage$"),
 new JavaSerializer());
 super.register(GryoIo.class, 
Class.forName("scala.collection.immutable.Map$EmptyMap$"), new 
JavaSerializer());



[tinkerpop] 01/20: TINKERPOP-2076 Initial effort to get TinkerPop building on Java 11

2019-12-16 Thread spmallette
This is an automated email from the ASF dual-hosted git repository.

spmallette pushed a commit to branch TINKERPOP-2076
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git

commit 3a3e9698292e0eaa2f956ae9822a5d8069f42251
Author: Stephen Mallette 
AuthorDate: Tue Mar 5 15:39:06 2019 -0500

TINKERPOP-2076 Initial effort to get TinkerPop building on Java 11
---
 CHANGELOG.asciidoc |  1 +
 .../tinkerpop/gremlin/console/Console.groovy   |  1 +
 gremlin-core/pom.xml   | 34 --
 .../process/traversal/dsl/GremlinDslProcessor.java |  2 +-
 .../traversal/step/map/OrderGlobalStep.java|  4 +--
 gremlin-groovy/pom.xml |  7 +
 .../server/op/AbstractEvalOpProcessorTest.java |  1 +
 .../process/computer/GraphComputerTest.java|  1 +
 gremlin-tools/gremlin-benchmark/README.asciidoc| 31 
 gremlin-tools/gremlin-benchmark/pom.xml| 17 +++
 pom.xml| 33 -
 11 files changed, 113 insertions(+), 19 deletions(-)

diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 60a134b..7db788e 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -712,6 +712,7 @@ 
image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 * Bumped `httpclient` to 4.5.7.
 * Bumped `slf4j` to 1.7.25.
 * Bumped `commons-codec` to 1.12.
+* Bumped to Groovy 2.5.6.
 * Fixed partial response failures when using authentication in 
`gremlin-python`.
 * Fixed concurrency issues in `TraverserSet.toString()` and 
`ObjectWritable.toString()`.
 * Fixed a bug in `InlineFilterStrategy` that mixed up and's and or's when 
folding merging conditions together.
diff --git 
a/gremlin-console/src/main/groovy/org/apache/tinkerpop/gremlin/console/Console.groovy
 
b/gremlin-console/src/main/groovy/org/apache/tinkerpop/gremlin/console/Console.groovy
index d5b9b62..3f5e53c 100644
--- 
a/gremlin-console/src/main/groovy/org/apache/tinkerpop/gremlin/console/Console.groovy
+++ 
b/gremlin-console/src/main/groovy/org/apache/tinkerpop/gremlin/console/Console.groovy
@@ -47,6 +47,7 @@ import org.codehaus.groovy.tools.shell.IO
 import org.codehaus.groovy.tools.shell.InteractiveShellRunner
 import org.codehaus.groovy.tools.shell.commands.SetCommand
 import org.fusesource.jansi.Ansi
+import picocli.CommandLine
 import sun.misc.Signal
 import sun.misc.SignalHandler
 
diff --git a/gremlin-core/pom.xml b/gremlin-core/pom.xml
index 5753390..0c82d3a 100644
--- a/gremlin-core/pom.xml
+++ b/gremlin-core/pom.xml
@@ -115,7 +115,36 @@ limitations under the License.
 
 com.google.testing.compile
 compile-testing
-0.10
+0.15
+test
+
+
+com.google.guava
+guava
+
+
+com.google.errorprone
+error_prone_annotations
+
+
+
+
+
+com.google.guava
+guava
+23.4-android
+test
+
+
+com.google.errorprone
+error_prone_annotations
+
+
+
+
+com.google.errorprone
+error_prone_annotations
+2.0.19
 test
 
   
@@ -148,8 +177,7 @@ limitations under the License.
 org.apache.maven.plugins
 maven-compiler-plugin
 
-1.8
-1.8
+11
 
 -parameters
 -proc:none
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/GremlinDslProcessor.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/GremlinDslProcessor.java
index f198f16..1a87392 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/GremlinDslProcessor.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/GremlinDslProcessor.java
@@ -78,7 +78,7 @@ import java.util.stream.Stream;
  * @author Stephen Mallette (http://stephen.genoprime.com)
  */
 
@SupportedAnnotationTypes("org.apache.tinkerpop.gremlin.process.traversal.dsl.GremlinDsl")
-@SupportedSourceVersion(SourceVersion.RELEASE_8)
+@SupportedSourceVersion(SourceVersion.RELEASE_11)
 public class GremlinDslProcessor extends AbstractProcessor {
 private Messager messager;
 private Elements elementUtils;
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/OrderGlobalStep.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/OrderGlobalStep.java
index fa80e97..b33ab6d

[tinkerpop] 15/20: TINKERPOP-2076 Re-enabled javadoc for gremlin-groovy

2019-12-16 Thread spmallette
This is an automated email from the ASF dual-hosted git repository.

spmallette pushed a commit to branch TINKERPOP-2076
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git

commit 5da4fd1aa0332063b18790adc549ca2409b0132d
Author: stephen 
AuthorDate: Tue Nov 12 10:16:13 2019 -0500

TINKERPOP-2076 Re-enabled javadoc for gremlin-groovy
---
 gremlin-groovy/pom.xml | 7 ++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/gremlin-groovy/pom.xml b/gremlin-groovy/pom.xml
index b890a99..81e6be0 100644
--- a/gremlin-groovy/pom.xml
+++ b/gremlin-groovy/pom.xml
@@ -161,7 +161,12 @@ limitations under the License.
 org.apache.maven.plugins
 maven-javadoc-plugin
 
-true
+
+
${pom.basedir}/src/main/java:${project.build.directory}/generated-sources/annotations:${project.build.directory}/generated-sources/groovy-stubs/main
 
 
 



[tinkerpop] 02/20: TINKERPOP-2076 Bumped Hadoop to 2.7.7

2019-12-16 Thread spmallette
This is an automated email from the ASF dual-hosted git repository.

spmallette pushed a commit to branch TINKERPOP-2076
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git

commit 54091538c23eef4e6784253b6fe6d89cb34a1299
Author: Stephen Mallette 
AuthorDate: Wed Mar 6 11:25:01 2019 -0500

TINKERPOP-2076 Bumped Hadoop to 2.7.7
---
 CHANGELOG.asciidoc | 1 +
 pom.xml| 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 7db788e..1e69301 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -713,6 +713,7 @@ 
image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 * Bumped `slf4j` to 1.7.25.
 * Bumped `commons-codec` to 1.12.
 * Bumped to Groovy 2.5.6.
+* Bumped to Hadoop 2.7.7.
 * Fixed partial response failures when using authentication in 
`gremlin-python`.
 * Fixed concurrency issues in `TraverserSet.toString()` and 
`ObjectWritable.toString()`.
 * Fixed a bug in `InlineFilterStrategy` that mixed up and's and or's when 
folding merging conditions together.
diff --git a/pom.xml b/pom.xml
index eb4c4d0..cfc7073 100644
--- a/pom.xml
+++ b/pom.xml
@@ -150,7 +150,7 @@ limitations under the License.
 2.6
 3.8.1
 2.5.7
-2.7.2
+2.7.7
 1.2
 3.1.0
 1.1



[tinkerpop] 01/01: TINKERPOP-2315 Implement clone() for all GLVs

2019-12-16 Thread spmallette
This is an automated email from the ASF dual-hosted git repository.

spmallette pushed a commit to branch TINKERPOP-2315
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git

commit e3960486459152c31565642f772a8df0c57ca9f6
Author: stephen 
AuthorDate: Mon Dec 16 11:55:05 2019 -0500

TINKERPOP-2315 Implement clone() for all GLVs
---
 CHANGELOG.asciidoc |  1 +
 docs/src/upgrade/release-3.3.x.asciidoc| 30 ++
 gremlin-dotnet/glv/GraphTraversal.template |  8 ++
 .../Process/Traversal/GraphTraversal.cs|  8 ++
 .../DriverRemoteConnection/GraphTraversalTests.cs  | 13 ++
 .../glv/GraphTraversalSource.template  |  8 ++
 .../lib/process/graph-traversal.js |  8 ++
 .../test/integration/traversal-test.js | 14 ++
 gremlin-python/glv/GraphTraversalSource.template   |  3 +++
 .../gremlin_python/process/graph_traversal.py  |  3 +++
 .../tests/driver/test_driver_remote_connection.py  |  8 ++
 11 files changed, 104 insertions(+)

diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 83cab12..3209db9 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -25,6 +25,7 @@ 
image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 
 * Improved error messaging for a `Cluster` with a bad `Channelizer` 
configuration in the Java driver.
 * Made `Cluster` be able to open configuration file on resources directory.
+* Implemented `Traversal.clone()` operations for all language variants.
 * Bump to Tornado 5.x for gremlin-python.
 * Deprecated `TraversalStrategies.applyStrategies()`.
 * Deprecated Jython support in `gremlin-python`.
diff --git a/docs/src/upgrade/release-3.3.x.asciidoc 
b/docs/src/upgrade/release-3.3.x.asciidoc
index 466cdd9..2e5ed8f 100644
--- a/docs/src/upgrade/release-3.3.x.asciidoc
+++ b/docs/src/upgrade/release-3.3.x.asciidoc
@@ -29,6 +29,36 @@ Please see the 
link:https://github.com/apache/tinkerpop/blob/3.3.10/CHANGELOG.as
 
 === Upgrading for Users
 
+ Traversal Clone
+
+Once a traversal has been executed (i.e. iterated) it's internal state is such 
that it cannot be re-used:
+
+[source,text]
+
+gremlin> t = g.V().count()
+==>6
+gremlin> t
+gremlin>
+
+
+To re-use a traversal it must be copied with `clone()` as follows:
+
+[source,text]
+
+gremlin> t = g.V().count()
+==>6
+gremlin> t.clone()
+==>6
+gremlin> t.clone()
+==>6
+
+
+The ability to `clone()` has been exclusive to Java and was a missing 
component of other supported languages like
+Python, Javascript and .NET. This feature has now been added for all the 
language variants making the ability to
+re-use traversals consistent in all ecosystems.
+
+See: link:https://issues.apache.org/jira/browse/TINKERPOP-2315[TINKERPOP-2315]
+
  Deprecated Jython Support
 
 Jython support in `gremlin-python` has been deprecated to focus on native 
Python 3.x support for 3.5.0 where Jython
diff --git a/gremlin-dotnet/glv/GraphTraversal.template 
b/gremlin-dotnet/glv/GraphTraversal.template
index 9e4b284..a8d4466 100644
--- a/gremlin-dotnet/glv/GraphTraversal.template
+++ b/gremlin-dotnet/glv/GraphTraversal.template
@@ -80,5 +80,13 @@ namespace Gremlin.Net.Process.Traversal
 return Wrap<$method.t1, $method.t2>(this);
 }
 <% } %>
+
+/// 
+/// Make a copy of a traversal that is reset for iteration.
+/// 
+public GraphTraversal Clone()
+{
+return new GraphTraversal(this.TraversalStrategies, 
this.Bytecode);
+}
 }
 }
\ No newline at end of file
diff --git a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/GraphTraversal.cs 
b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/GraphTraversal.cs
index ef92edd..910c6e8 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/GraphTraversal.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/GraphTraversal.cs
@@ -1677,5 +1677,13 @@ namespace Gremlin.Net.Process.Traversal
 return Wrap(this);
 }
 
+
+/// 
+/// Make a copy of a traversal that is reset for iteration.
+/// 
+public GraphTraversal Clone()
+{
+return new GraphTraversal(this.TraversalStrategies, 
this.Bytecode);
+}
 }
 }
\ No newline at end of file
diff --git 
a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Process/Traversal/DriverRemoteConnection/GraphTraversalTests.cs
 
b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Process/Traversal/DriverRemoteConnection/GraphTraversalTests.cs
index 9508eb7..c090fed 100644
--- 
a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Process/Traversal/DriverRemoteConnection/GraphTraversalTests.cs
+++ 
b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Process/Traversal/DriverRemoteConnection/GraphTraversalTests.cs
@@ -46,6 +46,19 @@ namespace 
Gremlin.Net.IntegrationTest.Process.Traversal.DriverRemoteConnection
 }
 
 

[tinkerpop] branch TINKERPOP-2315 created (now e396048)

2019-12-16 Thread spmallette
This is an automated email from the ASF dual-hosted git repository.

spmallette pushed a change to branch TINKERPOP-2315
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git.


  at e396048  TINKERPOP-2315 Implement clone() for all GLVs

This branch includes the following new commits:

 new e396048  TINKERPOP-2315 Implement clone() for all GLVs

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.




[GitHub] [tinkerpop] spmallette opened a new pull request #1233: TINKERPOP-2315 Implement clone() for all GLVs

2019-12-16 Thread GitBox
spmallette opened a new pull request #1233: TINKERPOP-2315 Implement clone() 
for all GLVs
URL: https://github.com/apache/tinkerpop/pull/1233
 
 
   https://issues.apache.org/jira/browse/TINKERPOP-2315
   
   Hard to believe we didn't have `clone()` in place across the board. There 
might have been some more idiomatic ways to implements this per language but I 
decided to stick with `clone()` as it is in Java for all languages. Just felt 
like it should be consistent. Happy to hear other opinions on that matter, but 
besides that:
   
   Builds with `mvn clean install`
   
   VOTE +1


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[tinkerpop] branch master updated (a129900 -> 454f11c)

2019-12-16 Thread spmallette
This is an automated email from the ASF dual-hosted git repository.

spmallette pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git.


from a129900  Merge branch 'tp34'
 add 67220e4  TINKERPOP-2037 Improved error for bad Channelizer 
configuration
 add ce3c798  Merge branch 'tp33' into tp34
 new 454f11c  Merge branch 'tp34'

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 CHANGELOG.asciidoc | 1 +
 .../src/main/java/org/apache/tinkerpop/gremlin/driver/Cluster.java | 7 +++
 .../org/apache/tinkerpop/gremlin/driver/ClusterBuilderTest.java| 3 ++-
 3 files changed, 10 insertions(+), 1 deletion(-)



[tinkerpop] branch tp34 updated (21d878e -> ce3c798)

2019-12-16 Thread spmallette
This is an automated email from the ASF dual-hosted git repository.

spmallette pushed a change to branch tp34
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git.


from 21d878e  Minor update to changelog
 add 67220e4  TINKERPOP-2037 Improved error for bad Channelizer 
configuration
 add ce3c798  Merge branch 'tp33' into tp34

No new revisions were added by this update.

Summary of changes:
 CHANGELOG.asciidoc | 1 +
 .../src/main/java/org/apache/tinkerpop/gremlin/driver/Cluster.java | 7 +++
 .../org/apache/tinkerpop/gremlin/driver/ClusterBuilderTest.java| 3 ++-
 3 files changed, 10 insertions(+), 1 deletion(-)



[tinkerpop] branch tp33 updated (5929975 -> 67220e4)

2019-12-16 Thread spmallette
This is an automated email from the ASF dual-hosted git repository.

spmallette pushed a change to branch tp33
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git.


from 5929975  Merge branch 'pr-1227' into tp33
 add 67220e4  TINKERPOP-2037 Improved error for bad Channelizer 
configuration

No new revisions were added by this update.

Summary of changes:
 CHANGELOG.asciidoc | 1 +
 .../src/main/java/org/apache/tinkerpop/gremlin/driver/Cluster.java | 7 +++
 .../org/apache/tinkerpop/gremlin/driver/ClusterBuilderTest.java| 3 ++-
 3 files changed, 10 insertions(+), 1 deletion(-)



[tinkerpop] 01/01: Merge branch 'tp34'

2019-12-16 Thread spmallette
This is an automated email from the ASF dual-hosted git repository.

spmallette pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git

commit 454f11ceac19c47c29aa0653ea13928f8a778a0c
Merge: a129900 ce3c798
Author: stephen 
AuthorDate: Mon Dec 16 10:32:52 2019 -0500

Merge branch 'tp34'

 CHANGELOG.asciidoc | 1 +
 .../src/main/java/org/apache/tinkerpop/gremlin/driver/Cluster.java | 7 +++
 .../org/apache/tinkerpop/gremlin/driver/ClusterBuilderTest.java| 3 ++-
 3 files changed, 10 insertions(+), 1 deletion(-)




[GitHub] [tinkerpop] spmallette opened a new pull request #1232: TINKERPOP-2262 Prevented channel close by server on protocol error

2019-12-16 Thread GitBox
spmallette opened a new pull request #1232: TINKERPOP-2262 Prevented channel 
close by server on protocol error
URL: https://github.com/apache/tinkerpop/pull/1232
 
 
   https://issues.apache.org/jira/browse/TINKERPOP-2262
   
   Allows the channel on the driver to be reused rather than replaced. 
Interestingly no additional error handling seemed to be needed as all tests 
passed.
   
   Builds with `mvn clean install && mvn verify -pl gremlin-server 
-DskipIntegrationTests=false`
   
   VOTE +1


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[tinkerpop] 01/01: TINKERPOP-2262 Prevented channel close by server on protocol error

2019-12-16 Thread spmallette
This is an automated email from the ASF dual-hosted git repository.

spmallette pushed a commit to branch TINKERPOP-2262
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git

commit 93e05dc1b49a6231f83b5f285e7e626996623e5f
Author: stephen 
AuthorDate: Mon Dec 16 09:49:29 2019 -0500

TINKERPOP-2262 Prevented channel close by server on protocol error

Allows the channel on the driver to be reused rather than replaced. 
Interestingly no additional error handling seemed to be needed as all tests 
passed.
---
 CHANGELOG.asciidoc|  1 +
 .../java/org/apache/tinkerpop/gremlin/driver/Connection.java  | 11 +--
 .../gremlin/server/channel/WebSocketChannelizer.java  |  7 ++-
 .../tinkerpop/gremlin/server/GremlinServerIntegrateTest.java  |  5 +
 4 files changed, 9 insertions(+), 15 deletions(-)

diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 0575581..b2c9c86 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -28,6 +28,7 @@ This release also includes changes from <>.
 * Expanded the use of `by(String)` modulator so that it can work on `Map` as 
well as `Element`.
 * Improved error messaging for `by(String)` so that it is more clear as to 
what the problem is
 * Bump to Netty 4.1.42
+* Improved Gremlin Server websocket handling preventing automatic server close 
of the channel for protocol errors.
 * Introduced internal `Buffer` API as a way to wrap Netty's Buffer API and 
moved `GraphBinaryReader`, `GraphBinaryWriter` and `TypeSerializer` to 
`gremlin-core`.
 * Unified the behavior of property comparison: only compare key&value.
 * Supported `hasKey()` and `hasValue()` step for edge property and meta 
property, like `g.E().properties().hasKey('xx')`.
diff --git 
a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Connection.java
 
b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Connection.java
index aa0868f..cdd098d 100644
--- 
a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Connection.java
+++ 
b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Connection.java
@@ -276,17 +276,8 @@ final class Connection {
 }
 }
 
-/*
- * In the event of an IOException (typically means that the Connection 
might have been closed from the server side
- * - this is typical in situations like when a request is sent that 
exceeds maxContentLength and the server closes
- * the channel on its side) or other exceptions that indicate a 
non-recoverable state for the Connection object
- * (a netty CorruptedFrameException is a good example of that), the 
Connection cannot simply be returned to the
- * pool as future uses will end with refusal from the server and make it 
appear as a dead host as the write will
- * not succeed. Instead, the Connection needs to be replaced in these 
scenarios which destroys the dead channel
- * on the client and allows a new one to be reconstructed.
- */
 private void handleConnectionCleanupOnError(final Connection 
thisConnection, final Throwable t) {
-if (thisConnection.isDead() || t instanceof IOException || t 
instanceof CodecException) {
+if (thisConnection.isDead()) {
 if (pool != null) pool.replaceConnection(thisConnection);
 } else {
 thisConnection.returnToPool();
diff --git 
a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/channel/WebSocketChannelizer.java
 
b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/channel/WebSocketChannelizer.java
index 010114b..773b6fc 100644
--- 
a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/channel/WebSocketChannelizer.java
+++ 
b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/channel/WebSocketChannelizer.java
@@ -19,6 +19,7 @@
 package org.apache.tinkerpop.gremlin.server.channel;
 
 import io.netty.handler.codec.http.websocketx.PingWebSocketFrame;
+import io.netty.handler.codec.http.websocketx.WebSocketDecoderConfig;
 import org.apache.tinkerpop.gremlin.server.AbstractChannelizer;
 import org.apache.tinkerpop.gremlin.server.Channelizer;
 import org.apache.tinkerpop.gremlin.server.auth.AllowAllAuthenticator;
@@ -95,8 +96,12 @@ public class WebSocketChannelizer extends 
AbstractChannelizer {
 
 pipeline.addLast(PIPELINE_HTTP_RESPONSE_ENCODER, new 
HttpResponseEncoder());
 
+// setting closeOnProtocolViolation to false prevents causing all the 
other requests using the same channel
+// to fail when a single request causes a protocol violation.
+final WebSocketDecoderConfig wsDecoderConfig = 
WebSocketDecoderConfig.newBuilder().
+
closeOnProtocolViolation(false).allowExtensions(false).maxFramePayloadLength(settings.maxContentLength).build();
 pipeline.addLast(PIPELINE_REQUEST_HANDLER, new 
WebSocketServerProtocolHandler(GREMLIN_ENDPOINT,
-null, false, settings

[tinkerpop] branch TINKERPOP-2262 created (now 93e05dc)

2019-12-16 Thread spmallette
This is an automated email from the ASF dual-hosted git repository.

spmallette pushed a change to branch TINKERPOP-2262
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git.


  at 93e05dc  TINKERPOP-2262 Prevented channel close by server on protocol 
error

This branch includes the following new commits:

 new 93e05dc  TINKERPOP-2262 Prevented channel close by server on protocol 
error

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.




[GitHub] [tinkerpop] spmallette commented on issue #1230: TINKERPOP-2320 allow to pass custom XmlInputFactory when instantiating GraphMLReader

2019-12-16 Thread GitBox
spmallette commented on issue #1230: TINKERPOP-2320 allow to pass custom 
XmlInputFactory when instantiating GraphMLReader
URL: https://github.com/apache/tinkerpop/pull/1230#issuecomment-566041253
 
 
   I think this approach is fine. Please target the `tp33` branch so that this 
change goes back to 3.3.x (since this is a security issue). To make this PR 
complete, please consider a CHANGELOG entry, though I can add that on merge if 
needed. I think I'd also like to see you change the instantiation of the 
`XMLInputFactory` as you suggested in your comment.
   
   Assuming all that is done:
   
   VOTE +1


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [tinkerpop] spmallette opened a new pull request #1231: TINKERPOP-2266 Start keep alive polling on Connection construction

2019-12-16 Thread GitBox
spmallette opened a new pull request #1231: TINKERPOP-2266 Start keep alive 
polling on Connection construction
URL: https://github.com/apache/tinkerpop/pull/1231
 
 
   https://issues.apache.org/jira/browse/TINKERPOP-2266
   
   If nothing writes to the Connection then keep alive doesn't start which 
might let it die in the pool if it is not used at some point.
   
   Builds with `mvn clean install && mvn verify -pl gremlin-server 
-DskipIntegrationTests=false`
   
   VOTE +1


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[tinkerpop] branch TINKERPOP-2266 created (now af43822)

2019-12-16 Thread spmallette
This is an automated email from the ASF dual-hosted git repository.

spmallette pushed a change to branch TINKERPOP-2266
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git.


  at af43822  TINKERPOP-2266 Start keep alive polling on Connection 
construction

This branch includes the following new commits:

 new af43822  TINKERPOP-2266 Start keep alive polling on Connection 
construction

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.




[tinkerpop] 01/01: TINKERPOP-2266 Start keep alive polling on Connection construction

2019-12-16 Thread spmallette
This is an automated email from the ASF dual-hosted git repository.

spmallette pushed a commit to branch TINKERPOP-2266
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git

commit af4382211af12288dd1f550f17a4f95e0c1852a5
Author: stephen 
AuthorDate: Mon Dec 16 07:20:42 2019 -0500

TINKERPOP-2266 Start keep alive polling on Connection construction

If nothing writes to the Connection then keep alive doesn't start which 
might let it die in the pool if it is not used at some point.
---
 CHANGELOG.asciidoc|  1 +
 .../java/org/apache/tinkerpop/gremlin/driver/Connection.java  | 11 +--
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 8f2909c..f0674c9 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -25,6 +25,7 @@ 
image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 
 * Made `Cluster` be able to open configuration file on resources directory.
 * Bump to Tornado 5.x for gremlin-python.
+* Started keep-alive polling on `Connection` construction to ensure that a 
`Connection` doesn't die in the pool.
 * Deprecated `TraversalStrategies.applyStrategies()`.
 * Deprecated Jython support in `gremlin-python`.
 * Reverted: Modified Java driver to use IP address rather than hostname to 
create connections.
diff --git 
a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Connection.java
 
b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Connection.java
index e700d49..ba18ddb 100644
--- 
a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Connection.java
+++ 
b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Connection.java
@@ -113,6 +113,8 @@ final class Connection {
 channelizer.connected();
 
 logger.info("Created new connection for {}", uri);
+
+scheduleKeepAlive();
 } catch (Exception ie) {
 logger.debug("Error opening connection on {}", uri);
 throw new ConnectionException(uri, "Could not open connection", 
ie);
@@ -244,6 +246,13 @@ final class Connection {
 });
 channel.writeAndFlush(requestMessage, requestPromise);
 
+scheduleKeepAlive();
+
+return requestPromise;
+}
+
+private void scheduleKeepAlive() {
+final Connection thisConnection = this;
 // try to keep the connection alive if the channel allows such things 
- websockets will
 if (channelizer.supportsKeepAlive() && keepAliveInterval > 0) {
 
@@ -263,8 +272,6 @@ final class Connection {
 // through on the connection
 if (oldKeepAliveFuture != null) oldKeepAliveFuture.cancel(true);
 }
-
-return requestPromise;
 }
 
 public void returnToPool() {