You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by sp...@apache.org on 2020/04/06 12:41:31 UTC

[tinkerpop] branch TINKERPOP-2076 updated (fd58dae -> fc989be)

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 fd58dae  Removed two tests from GremlinServerSslIntegrationTest
    omit 78cc024  TINKERPOP-2076 Use python3 to run console integration tests
    omit af0dbd2  TINKERPOP-2076 Ignored two failing tests after rebase on master
    omit 8acc0d4  TINKERPOP-2076 Resolve commons-text conflict after rebase
    omit cd6a8f2  TINKERPOP-2076 Bumped to spark 3.0.0-preview2
    omit d820951  TINKERPOP-2076 Fixed more warnings in maven build
    omit a7dd5f5  TINKERPOP-2076 Resolve test inconsistency
    omit 0b764f3  TINKERPOP-2076 Use jdk11 after rebase on revised docker image that combines 8 and 11 support
    omit 8f5cf09  TINKERPOP-2076 Minor fix to allow test to pass on Java 11
    omit 1149fbb  updated user-facing docker base images to adoptopenjdk/openjdk11:alpine-slim
    omit 0dbe482  TINKERPOP-2076 Polished up benchmarking dependencies
    omit 63f0f6a  TINKERPOP-2076 Registered scala.reflect.ManifestFactory$AnyManifest with gryo
    omit affc1cc  TINKERPOP-2076 Use bionic for testing with travis and bump to jdk11
    omit acbd62d  TINKERPOP-2076 Re-enabled javadoc for gremlin-groovy
    omit ca73af2  TINKERPOP-2076 Enforce java 11 with enforcer plugin
    omit 46b3cb3  TINKERPOP-2076 More Java 11 documentation updates
    omit edf19ab  TINKERPOP-2076 Cleaned up references to "java 8"
    omit 25ffc83  TINKERPOP-2076 Made docker build compatible with jdk11
    omit 19f26dc  TINKERPOP-2076 Minor adjustments to gryo registrations to get spark integration tests passing
    omit 98570c0  TINKERPOP-2076 Fixed bad merge operation in the MemoryAccumulator
    omit 7cc9d06  TINKERPOP-2076 Removed a scala class registration from gryo
    omit 78418f8  TINKERPOP-2076 Bump to spark 3.0 with jdk11 support
    omit 83c48d0  TINKERPOP-2076 Fixed Gremlin Server integration tests after Java 11
    omit 79c369f  TINKERPOP-2076 Fixed failing GraphComputer test after Java 11 upgrade
    omit 5cea2d8  TINKERPOP-2076 Made expectations around mock more explicit
    omit ebb05f3  TINKERPOP-2076 Bumped Hadoop to 2.7.7
    omit 8a8c224  TINKERPOP-2076 Initial effort to get TinkerPop building on Java 11
     add 1ca112a  Added some docs to point folks at elementMap() from valueMap() CTR
     add cae0f49  Merge branch '3.4-dev'
     add 9a43135  TINKERPOP-2335 Update to .NET Core 3.1
     add 9e340be  Merge branch '3.3-dev' into 3.4-dev
     add 434c8de  Merge branch '3.4-dev'
     add d7308bb  Update SourceLink to stable version 1.0.0 CTR
     add f800598  Merge branch '3.3-dev' into 3.4-dev
     add 0a7769e  Merge branch '3.4-dev'
     add e9f8d0e  TINKERPOP-2335 Drop support for .NET Standard <2.0
     add fd16acc  Added some start step documentation CTR
     add c7dd273  Merge branch '3.3-dev' into 3.4-dev
     add efd7d04  Added with() to start step documentation CTR
     add 7050a6f  Merge branch '3.4-dev'
     add 3dd4da4  Fix the docs for Dedup with a scope.
     add 8569e38  Merge branch '3.3-dev' into 3.4-dev
     add b7a7cc3  Merge branch '3.4-dev'
     add 179e643  Add in example of using path with to or from modulators to the documentation (#1267)
     add c309206  Merge remote-tracking branch 'origin/3.4-dev'
     add acd5ec4  Bump Gremlin Console integration tests to use Python 3
     add a14e649  Merge branch '3.3-dev' into 3.4-dev
     add 73af6c1  Merge branch '3.4-dev'
     add 6a8db64  TINKERPOP-2351 Fixed bug in Order when enum is a key in Map
     add 6673cbd  Merge branch 'TINKERPOP-2351' into 3.3-dev
     add e47a281  Merge branch '3.3-dev' into 3.4-dev
     add 413f0e5  Merge branch '3.4-dev'
     add c717b3f  Changed test to use elementMap() rather than valueMap()
     add 4e44431  Merge branch '3.4-dev'
     add bc7c430  TINKERPOP-2355 Bumped to Jackson 2.9.10.3 CTR
     add afeaf47  Merge branch '3.3-dev' into 3.4-dev
     add f9667cb  Merge branch '3.4-dev'
     add a4b0521  For some reason 3.3.7 no longer grabs but 3.3.8 does.
     add 878c120  Mentioned slack channel in dev docs CTR
     add 8e95a3a  Merge branch '3.4-dev'
     add d84bd83  TINKERPOP-2350 Fixed bug in Traversal.clone() in gremlin-python
     add f92051a  Merge branch '3.3-dev' into 3.4-dev
     add 98f3178  Merge branch '3.4-dev'
     add 1d7f10f  TINKERPOP-2353 Added some checks for null in shutdown of server
     add b751548  Merge branch 'TINKERPOP-2353' into 3.3-dev
     add b7f2329  Merge branch '3.3-dev' into 3.4-dev
     add 093bd92  Merge branch '3.4-dev'
     add ea03249  dotnet: add session mode connection
     add 68d3da4  dotnet: remove close message in session
     add 001baf4  dotnet: one connection in pool when session mode
     add f5b860f  dotnet: UnitTest for poolsize in session mode
     add 7db7a2d  Merge branch 'pr-1263' into 3.4-dev
     add dade989  Merge branch '3.4-dev'
     add 9dbd1c1  Add icon to NuGet package CTR
     add 2937780  Merge branch '3.3-dev' into 3.4-dev
     add 546ac7e  Merge branch '3.4-dev'
     add 99d0d93  TINKERPOP-2350 Fixed bug in GraphTraversal.Clone() in Gremln.Net
     add 70fd191  Merge branch 'TINKERPOP-2350-dotnet' into 3.3-dev
     add 6c81d09  Merge branch '3.3-dev' into 3.4-dev
     add 6fe1983  Merge branch '3.4-dev'
     add 83b03f0  TINKERPOP-2356 Bump to Jackson 2.10
     add 916aab1  Merge pull request #1271 from apache/TINKERPOP-2356
     add ac37c7d  Pinned pyparsing to versions prior to 3.0.0
     add 1956c26  Merge branch '3.3-dev' into 3.4-dev
     add ae811ec  Merge branch '3.4-dev'
     add 7ac75c2  Bump to gmaven-plus 1.9.0 CTR
     add 4d3dca5  Merge branch '3.3-dev' into 3.4-dev
     add eec06d7  Merge branch '3.4-dev'
     new c3167d1  TINKERPOP-2076 Initial effort to get TinkerPop building on Java 11
     new 870a3e0  TINKERPOP-2076 Bumped Hadoop to 2.7.7
     new bc4bafa  TINKERPOP-2076 Made expectations around mock more explicit
     new 180e8e6  TINKERPOP-2076 Fixed failing GraphComputer test after Java 11 upgrade
     new 7b30ab5  TINKERPOP-2076 Fixed Gremlin Server integration tests after Java 11
     new f3b89c0  TINKERPOP-2076 Bump to spark 3.0 with jdk11 support
     new 29205dd  TINKERPOP-2076 Removed a scala class registration from gryo
     new ad12796  TINKERPOP-2076 Fixed bad merge operation in the MemoryAccumulator
     new 20cd26f  TINKERPOP-2076 Minor adjustments to gryo registrations to get spark integration tests passing
     new 0a02d21  TINKERPOP-2076 Made docker build compatible with jdk11
     new a4ea047  TINKERPOP-2076 Cleaned up references to "java 8"
     new 7bfaaf0  TINKERPOP-2076 More Java 11 documentation updates
     new 26bd7db  TINKERPOP-2076 Enforce java 11 with enforcer plugin
     new 4269345  TINKERPOP-2076 Re-enabled javadoc for gremlin-groovy
     new 8824138  TINKERPOP-2076 Use bionic for testing with travis and bump to jdk11
     new b7a420e  TINKERPOP-2076 Registered scala.reflect.ManifestFactory$AnyManifest with gryo
     new e96dfdc  TINKERPOP-2076 Polished up benchmarking dependencies
     new d5f7b90  updated user-facing docker base images to adoptopenjdk/openjdk11:alpine-slim
     new 2a7af99  TINKERPOP-2076 Minor fix to allow test to pass on Java 11
     new 8469ab0  TINKERPOP-2076 Use jdk11 after rebase on revised docker image that combines 8 and 11 support
     new 42f621a  TINKERPOP-2076 Resolve test inconsistency
     new 6866e72  TINKERPOP-2076 Fixed more warnings in maven build
     new 5c6893e  TINKERPOP-2076 Bumped to spark 3.0.0-preview2
     new 9249f86  TINKERPOP-2076 Resolve commons-text conflict after rebase
     new 15b4242  TINKERPOP-2076 Ignored two failing tests after rebase on master
     new f10d031  TINKERPOP-2076 Use python3 to run console integration tests
     new fc989be  Removed two tests from GremlinServerSslIntegrationTest

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   (fd58dae)
            \
             N -- N -- N   refs/heads/TINKERPOP-2076 (fc989be)

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 27 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:
 .travis.yml                                        |  2 +-
 CHANGELOG.asciidoc                                 |  8 +-
 docker/Dockerfile                                  |  2 +-
 .../dev/developer/development-environment.asciidoc |  2 +-
 docs/src/dev/developer/for-committers.asciidoc     |  4 +
 docs/src/reference/the-traversal.asciidoc          | 90 ++++++++++++++++++++--
 docs/src/upgrade/release-3.5.x.asciidoc            |  7 ++
 .../tinkerpop/gremlin/process/traversal/Order.java | 20 +++--
 .../traversal/dsl/graph/GraphTraversal.java        |  2 +-
 .../structure/io/graphson/GraphSONReader.java      |  9 ++-
 .../io/graphson/GraphSONTypeResolverBuilder.java   |  7 +-
 .../gremlin/process/traversal/OrderTest.java       |  5 +-
 gremlin-dotnet/glv/GraphTraversal.template         |  2 +-
 .../glv/Gremlin.Net.Template.csproj.template       |  3 +-
 gremlin-dotnet/glv/Gremlin.Net.csproj.template     | 12 +--
 .../Gremlin.Net.Template.csproj                    |  3 +-
 .../src/Gremlin.Net/Driver/Connection.cs           | 31 +++++++-
 .../src/Gremlin.Net/Driver/ConnectionFactory.cs    |  7 +-
 .../src/Gremlin.Net/Driver/GremlinClient.cs        | 20 ++++-
 gremlin-dotnet/src/Gremlin.Net/Driver/Tokens.cs    | 10 +++
 gremlin-dotnet/src/Gremlin.Net/Gremlin.Net.csproj  | 12 +--
 .../Process/Traversal/GraphTraversal.cs            |  2 +-
 .../Driver/GremlinClientTests.cs                   | 15 +++-
 .../Gremlin.Net.IntegrationTest.csproj             |  5 +-
 .../Gremlin.Net.Template.IntegrationTest.csproj    |  4 +-
 ...essageBuilderTests.cs => GremlinClientTests.cs} | 16 ++--
 .../Gremlin.Net.UnitTest.csproj                    |  5 +-
 .../Process/Traversal/GraphTraversalSourceTests.cs | 20 +++++
 .../util/DependencyGrabberIntegrateTest.java       |  2 +-
 gremlin-python/glv/GraphTraversalSource.template   |  3 +-
 gremlin-python/glv/TraversalSource.template        | 16 +++-
 .../gremlin_python/process/graph_traversal.py      |  3 +-
 .../python/gremlin_python/process/traversal.py     | 16 +++-
 gremlin-python/src/main/python/setup.py            |  3 +
 .../main/python/tests/process/test_traversal.py    | 22 +++++-
 .../tinkerpop/gremlin/server/GremlinServer.java    | 58 +++++++-------
 gremlin-shaded/pom.xml                             |  2 +-
 gremlin-test/features/map/Order.feature            | 15 ++++
 .../process/traversal/step/map/OrderTest.java      | 63 ++++++++++++---
 pom.xml                                            |  2 +-
 40 files changed, 414 insertions(+), 116 deletions(-)
 copy gremlin-dotnet/test/Gremlin.Net.UnitTest/Driver/{RequestMessageBuilderTests.cs => GremlinClientTests.cs} (62%)


[tinkerpop] 14/27: TINKERPOP-2076 Re-enabled javadoc for gremlin-groovy

Posted by sp...@apache.org.
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 4269345d04a107e6ab8214ff3b44787ebc84a44d
Author: stephen <sp...@gmail.com>
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.
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-javadoc-plugin</artifactId>
                 <configuration>
-                    <skip>true</skip>
+                    <!--
+                    need to override source path as we don't seem to get the groovy-stubs automatically. this worked
+                    under java 8 but errors under java 11 due to missing files on the path. i guess java 8 was more
+                    forgiving.
+                    -->
+                    <sourcepath>${pom.basedir}/src/main/java:${project.build.directory}/generated-sources/annotations:${project.build.directory}/generated-sources/groovy-stubs/main</sourcepath>
                 </configuration>
             </plugin>
         </plugins>


[tinkerpop] 25/27: TINKERPOP-2076 Ignored two failing tests after rebase on master

Posted by sp...@apache.org.
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 15b42422f508305f202bd249374fede5b245d7ce
Author: Stephen Mallette <sp...@genoprime.com>
AuthorDate: Wed Mar 11 06:49:49 2020 -0400

    TINKERPOP-2076 Ignored two failing tests after rebase on master
    
    Tests are SSL related and were added at #1244
---
 .../apache/tinkerpop/gremlin/server/GremlinServerSslIntegrateTest.java  | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerSslIntegrateTest.java b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerSslIntegrateTest.java
index 080b34e..ab5020e 100644
--- a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerSslIntegrateTest.java
+++ b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerSslIntegrateTest.java
@@ -305,6 +305,7 @@ public class GremlinServerSslIntegrateTest extends AbstractGremlinServerIntegrat
     }
 
     @Test
+    @org.junit.Ignore
     public void shouldEnableSslAndClientCertificateAuthAndFailWithIncorrectKeyStoreType() {
         final Cluster cluster = TestClientFactory.build().enableSsl(true)
                 .keyStore(JKS_CLIENT_KEY).keyStorePassword(KEY_PASS).keyStoreType(KEYSTORE_TYPE_PKCS12)
@@ -324,6 +325,7 @@ public class GremlinServerSslIntegrateTest extends AbstractGremlinServerIntegrat
     }
 
     @Test
+    @org.junit.Ignore
     public void shouldEnableSslAndClientCertificateAuthAndFailWithIncorrectTrustStoreType() {
         final Cluster cluster = TestClientFactory.build().enableSsl(true)
                 .keyStore(P12_CLIENT_KEY).keyStorePassword(KEY_PASS).keyStoreType(KEYSTORE_TYPE_PKCS12)


[tinkerpop] 20/27: TINKERPOP-2076 Use jdk11 after rebase on revised docker image that combines 8 and 11 support

Posted by sp...@apache.org.
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 8469ab07ec0b5fd27ce8343bb679290d1f413a56
Author: stephen <sp...@gmail.com>
AuthorDate: Wed Jan 8 07:38:48 2020 -0500

    TINKERPOP-2076 Use jdk11 after rebase on revised docker image that combines 8 and 11 support
---
 docker/scripts/build.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docker/scripts/build.sh b/docker/scripts/build.sh
index 643e8bc..375c621 100755
--- a/docker/scripts/build.sh
+++ b/docker/scripts/build.sh
@@ -76,7 +76,7 @@ if [ -r "settings.xml" ]; then
   cp settings.xml ~/.m2/
 fi
 
-export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
+export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
 
 mvn clean install process-resources --batch-mode ${TINKERPOP_BUILD_OPTIONS} || exit 1
 [ -z "${BUILD_JAVA_DOCS}" ] || mvn process-resources -Djavadoc || exit 1


[tinkerpop] 27/27: Removed two tests from GremlinServerSslIntegrationTest

Posted by sp...@apache.org.
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 fc989be13e823fb534b21eb25ad89ed7d6080297
Author: Justin Chu <ju...@gmail.com>
AuthorDate: Thu Mar 12 15:54:53 2020 -0400

    Removed two tests from GremlinServerSslIntegrationTest
    
    Since Java 11 would try to pick and select correct keyStoreType
---
 .../server/GremlinServerSslIntegrateTest.java      | 40 ----------------------
 1 file changed, 40 deletions(-)

diff --git a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerSslIntegrateTest.java b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerSslIntegrateTest.java
index ab5020e..dd3aa80 100644
--- a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerSslIntegrateTest.java
+++ b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerSslIntegrateTest.java
@@ -303,44 +303,4 @@ public class GremlinServerSslIntegrateTest extends AbstractGremlinServerIntegrat
             cluster2.close();
         }
     }
-
-    @Test
-    @org.junit.Ignore
-    public void shouldEnableSslAndClientCertificateAuthAndFailWithIncorrectKeyStoreType() {
-        final Cluster cluster = TestClientFactory.build().enableSsl(true)
-                .keyStore(JKS_CLIENT_KEY).keyStorePassword(KEY_PASS).keyStoreType(KEYSTORE_TYPE_PKCS12)
-                .trustStore(P12_CLIENT_TRUST).trustStorePassword(KEY_PASS).trustStoreType(TRUSTSTORE_TYPE_PKCS12)
-                .create();
-        final Client client = cluster.connect();
-
-        try {
-            String res = client.submit("'test'").one().getString();
-            fail("Should throw exception because incorrect keyStoreType is specified");
-        } catch (Exception x) {
-            final Throwable root = ExceptionUtils.getRootCause(x);
-            assertThat(root, instanceOf(TimeoutException.class));
-        } finally {
-            cluster.close();
-        }
-    }
-
-    @Test
-    @org.junit.Ignore
-    public void shouldEnableSslAndClientCertificateAuthAndFailWithIncorrectTrustStoreType() {
-        final Cluster cluster = TestClientFactory.build().enableSsl(true)
-                .keyStore(P12_CLIENT_KEY).keyStorePassword(KEY_PASS).keyStoreType(KEYSTORE_TYPE_PKCS12)
-                .trustStore(JKS_CLIENT_TRUST).trustStorePassword(KEY_PASS).trustStoreType(TRUSTSTORE_TYPE_PKCS12)
-                .create();
-        final Client client = cluster.connect();
-
-        try {
-            client.submit("'test'").one();
-            fail("Should throw exception because incorrect trustStoreType is specified");
-        } catch (Exception x) {
-            final Throwable root = ExceptionUtils.getRootCause(x);
-            assertThat(root, instanceOf(TimeoutException.class));
-        } finally {
-            cluster.close();
-        }
-    }
 }


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

Posted by sp...@apache.org.
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 882413871d4dbea6af6d411abb122406c9a636fe
Author: stephen <sp...@gmail.com>
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 13cf933..2ac79c4 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] 06/27: TINKERPOP-2076 Bump to spark 3.0 with jdk11 support

Posted by sp...@apache.org.
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 f3b89c06ed97fab19f821555d380d562d56e4058
Author: stephen <sp...@gmail.com>
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 02e593a..c14e16c 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -42,7 +42,8 @@ This release also includes changes from <<release-3-4-3, 3.4.3>>.
 * 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.
-* Bump 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.
         <dependency>
             <groupId>org.apache.ivy</groupId>
             <artifactId>ivy</artifactId>
-            <version>2.3.0</version>
+            <version>2.4.0</version>
         </dependency>
         <dependency>
             <groupId>org.codehaus.groovy</groupId>
diff --git a/pom.xml b/pom.xml
index 423b76a..29c68dc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -159,7 +159,7 @@ limitations under the License.
         <netty.version>4.1.42.Final</netty.version>
         <slf4j.version>1.7.25</slf4j.version>
         <snakeyaml.version>1.15</snakeyaml.version>
-        <spark.version>2.4.0</spark.version>
+        <spark.version>3.0.0-preview</spark.version>
 
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
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 @@
         <dependency>
             <groupId>com.google.guava</groupId>
             <artifactId>guava</artifactId>
-            <version>14.0.1</version>
+            <version>16.0.1</version>
         </dependency>
         <dependency>
             <groupId>org.apache.tinkerpop</groupId>
@@ -44,257 +44,105 @@
             <artifactId>hadoop-gremlin</artifactId>
             <version>${project.version}</version>
             <exclusions>
-                <exclusion>
-                    <groupId>javax.servlet</groupId>
-                    <artifactId>servlet-api</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>javax.servlet</groupId>
-                    <artifactId>javax.servlet-api</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>com.sun.jersey</groupId>
-                    <artifactId>jersey-core</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>com.sun.jersey</groupId>
-                    <artifactId>jersey-server</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>commons-net</groupId>
-                    <artifactId>commons-net</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>commons-io</groupId>
-                    <artifactId>commons-io</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>com.google.guava</groupId>
-                    <artifactId>guava</artifactId>
-                </exclusion>
+                <!-- use our snappy as there is conflict within spark-->
                 <exclusion>
                     <groupId>org.xerial.snappy</groupId>
                     <artifactId>snappy-java</artifactId>
                 </exclusion>
+                <!-- use spark's avro -->
                 <exclusion>
                     <groupId>org.apache.avro</groupId>
                     <artifactId>avro</artifactId>
                 </exclusion>
+                <!-- use spark's math -->
                 <exclusion>
                     <groupId>org.apache.commons</groupId>
                     <artifactId>commons-math3</artifactId>
                 </exclusion>
+                <!-- use spark's netty 4-->
                 <exclusion>
                     <groupId>io.netty</groupId>
-                    <artifactId>netty</artifactId>
+                    <artifactId>netty-all</artifactId>
                 </exclusion>
+                <!-- use spark's activation -->
+                <exclusion>
+                    <groupId>javax.activation</groupId>
+                    <artifactId>activation</artifactId>
+                </exclusion>
+                <!-- use zookeeper's netty 3 -->
                 <exclusion>
                     <groupId>io.netty</groupId>
-                    <artifactId>netty-all</artifactId>
+                    <artifactId>netty</artifactId>
                 </exclusion>
+                <!-- use sparks commons-compress -->
                 <exclusion>
-                    <groupId>com.thoughtworks.paranamer</groupId>
-                    <artifactId>paranamer</artifactId>
+                    <groupId>org.apache.commons</groupId>
+                    <artifactId>commons-compress</artifactId>
                 </exclusion>
             </exclusions>
         </dependency>
         <!-- SPARK -->
         <dependency>
             <groupId>org.apache.spark</groupId>
-            <artifactId>spark-core_2.11</artifactId>
+            <artifactId>spark-core_2.12</artifactId>
             <version>${spark.version}</version>
             <exclusions>
-                <!-- self conflicts -->
-                <exclusion>
-                    <groupId>org.scala-lang</groupId>
-                    <artifactId>scala-compiler</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.apache.httpcomponents</groupId>
-                    <artifactId>httpclient</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.scala-lang.modules</groupId>
-                    <artifactId>scala-xml_2.11</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>javax.activation</groupId>
-                    <artifactId>activation</artifactId>
-                </exclusion>
                 <exclusion>
-                    <groupId>org.codehaus.jackson</groupId>
-                    <artifactId>jackson-mapper-asl</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.codehaus.jackson</groupId>
-                    <artifactId>jackson-core-asl</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.scala-lang</groupId>
-                    <artifactId>scala-library</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>com.fasterxml.jackson.core</groupId>
-                    <artifactId>jackson-core</artifactId>
+                    <groupId>org.apache.hadoop</groupId>
+                    <artifactId>hadoop-client</artifactId>
                 </exclusion>
                 <exclusion>
                     <groupId>com.fasterxml.jackson.core</groupId>
                     <artifactId>jackson-databind</artifactId>
                 </exclusion>
                 <exclusion>
-                    <groupId>org.scala-lang</groupId>
-                    <artifactId>scala-reflect</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.apache.httpcomponents</groupId>
-                    <artifactId>httpcore</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>javax.servlet</groupId>
-                    <artifactId>servlet-api</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>com.fasterxml.jackson.core</groupId>
-                    <artifactId>jackson-annotations</artifactId>
+                    <groupId>org.apache.zookeeper</groupId>
+                    <artifactId>zookeeper</artifactId>
                 </exclusion>
                 <exclusion>
-                    <groupId>log4j</groupId>
-                    <artifactId>log4j</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.apache.commons</groupId>
-                    <artifactId>commons-lang3</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>commons-lang</groupId>
-                    <artifactId>commons-lang</artifactId>
+                    <groupId>org.xerial.snappy</groupId>
+                    <artifactId>snappy</artifactId>
                 </exclusion>
                 <exclusion>
-                    <groupId>commons-codec</groupId>
-                    <artifactId>commons-codec</artifactId>
+                    <groupId>org.scala-lang</groupId>
+                    <artifactId>scala-library</artifactId>
                 </exclusion>
                 <exclusion>
                     <groupId>org.xerial.snappy</groupId>
                     <artifactId>snappy-java</artifactId>
                 </exclusion>
-                <exclusion>
-                    <groupId>org.apache.curator</groupId>
-                    <artifactId>curator-framework</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.apache.curator</groupId>
-                    <artifactId>curator-recipes</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>com.thoughtworks.paranamer</groupId>
-                    <artifactId>paranamer</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>javax.servlet</groupId>
-                    <artifactId>servlet-api</artifactId>
-                </exclusion>
-                <!-- gremlin-core conflicts -->
-                <exclusion>
-                    <groupId>org.slf4j</groupId>
-                    <artifactId>slf4j-api</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.slf4j</groupId>
-                    <artifactId>slf4j-log4j12</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.slf4j</groupId>
-                    <artifactId>jcl-over-slf4j</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.apache.ivy</groupId>
-                    <artifactId>ivy</artifactId>
-                </exclusion>
-                <!-- gremlin-groovy conflicts -->
-                <exclusion>
-                    <groupId>jline</groupId>
-                    <artifactId>jline</artifactId>
-                </exclusion>
-                <!-- hadoop conflicts -->
-                <exclusion>
-                    <groupId>org.apache.hadoop</groupId>
-                    <artifactId>hadoop-client</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.apache.curator</groupId>
-                    <artifactId>curator-client</artifactId>
-                </exclusion>
-                <!-- lgpl conflicts -->
-                <exclusion>
-                    <groupId>com.google.code.findbugs</groupId>
-                    <artifactId>jsr305</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>io.netty</groupId>
-                    <artifactId>netty</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>io.netty</groupId>
-                    <artifactId>netty-all</artifactId>
-                </exclusion>
-                <!-- avro conflicts -->
-                <exclusion>
-                    <groupId>org.apache.commons</groupId>
-                    <artifactId>commons-compress</artifactId>
-                </exclusion>
             </exclusions>
         </dependency>
-        <!-- consistent dependencies -->
-        <dependency>
-            <groupId>org.scala-lang</groupId>
-            <artifactId>scala-library</artifactId>
-            <version>2.11.8</version>
-        </dependency>
-        <dependency>
-            <groupId>org.scala-lang.modules</groupId>
-            <artifactId>scala-xml_2.11</artifactId>
-            <version>1.0.5</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.scala-lang</groupId>
-                    <artifactId>scala-library</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>com.fasterxml.jackson.core</groupId>
-            <artifactId>jackson-databind</artifactId>
-            <version>2.6.7</version>
-        </dependency>
-        <dependency>
-            <groupId>commons-lang</groupId>
-            <artifactId>commons-lang</artifactId>
-            <version>${commons.lang.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.thoughtworks.paranamer</groupId>
-            <artifactId>paranamer</artifactId>
-            <version>2.6</version>
-        </dependency>
+        <!-- spark self-conflict and hadoop conflict -->
         <dependency>
             <groupId>org.xerial.snappy</groupId>
             <artifactId>snappy-java</artifactId>
-            <version>1.1.1.7</version>
+            <version>1.1.7.3</version>
         </dependency>
+        <!-- spark self-conflict -->
         <dependency>
-            <groupId>io.netty</groupId>
-            <artifactId>netty-all</artifactId>
-            <version>4.1.32.Final</version>
+            <groupId>org.scala-lang</groupId>
+            <artifactId>scala-library</artifactId>
+            <version>2.12.10</version>
         </dependency>
+        <!-- spark self-confict -->
         <dependency>
-            <groupId>io.netty</groupId>
-            <artifactId>netty</artifactId>
-            <version>3.9.9.Final</version>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-databind</artifactId>
+            <version>2.10.0</version>
         </dependency>
+        <!-- spark self-confict -->
         <dependency>
-            <groupId>org.apache.commons</groupId>
-            <artifactId>commons-compress</artifactId>
-            <version>1.19</version>
+            <groupId>org.apache.zookeeper</groupId>
+            <artifactId>zookeeper</artifactId>
+            <version>3.4.6</version>
+            <exclusions>
+                <!-- use gremlin-groovy's jline -->
+                <exclusion>
+                    <groupId>jline</groupId>
+                    <artifactId>jline</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <!-- TEST -->
         <dependency>
@@ -302,16 +150,6 @@
             <artifactId>gremlin-test</artifactId>
             <version>${project.version}</version>
             <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>com.google.guava</groupId>
-                    <artifactId>guava</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.objenesis</groupId>
-                    <artifactId>objenesis</artifactId>
-                </exclusion>
-            </exclusions>
         </dependency>
         <dependency>
             <groupId>org.apache.tinkerpop</groupId>
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 cf8cb25..cc7b8de 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
@@ -19,37 +19,58 @@
 
 package org.apache.tinkerpop.gremlin.spark.process.computer;
 
-import org.apache.spark.AccumulatorParam;
+import org.apache.spark.util.AccumulatorV2;
 import org.apache.tinkerpop.gremlin.hadoop.structure.io.ObjectWritable;
 import org.apache.tinkerpop.gremlin.process.computer.MemoryComputeKey;
 
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
+ * @author Stephen Mallette (http://stephen.genoprime.com)
  */
-public final class MemoryAccumulator<A> implements AccumulatorParam<ObjectWritable<A>> {
+public final class MemoryAccumulator<A> extends AccumulatorV2<ObjectWritable<A>, ObjectWritable<A>> {
 
     private final MemoryComputeKey<A> memoryComputeKey;
+    private ObjectWritable<A> value;
 
-    public MemoryAccumulator(final MemoryComputeKey<A> memoryComputeKey) {
+    MemoryAccumulator(final MemoryComputeKey<A> memoryComputeKey) {
+        this(memoryComputeKey, ObjectWritable.empty());
+    }
+
+    private MemoryAccumulator(final MemoryComputeKey<A> memoryComputeKey, final ObjectWritable<A> initial) {
         this.memoryComputeKey = memoryComputeKey;
+        this.value = initial;
+    }
+
+    @Override
+    public boolean isZero() {
+        return ObjectWritable.empty().equals(value);
+    }
+
+    @Override
+    public AccumulatorV2<ObjectWritable<A>, ObjectWritable<A>> copy() {
+        return new MemoryAccumulator<>(this.memoryComputeKey, this.value);
+    }
+
+    @Override
+    public void reset() {
+        this.value = ObjectWritable.empty();
     }
 
     @Override
-    public ObjectWritable<A> addAccumulator(final ObjectWritable<A> a, final ObjectWritable<A> b) {
-        if (a.isEmpty())
-            return b;
-        if (b.isEmpty())
-            return a;
-        return new ObjectWritable<>(this.memoryComputeKey.getReducer().apply(a.get(), b.get()));
+    public void add(final ObjectWritable<A> v) {
+        if (this.value.isEmpty())
+            this.value = v;
+        if (!v.isEmpty())
+            this.value = new ObjectWritable<>(this.memoryComputeKey.getReducer().apply(value.get(), v.get()));
     }
 
     @Override
-    public ObjectWritable<A> addInPlace(final ObjectWritable<A> a, final ObjectWritable<A> b) {
-        return this.addAccumulator(a, b);
+    public void merge(final AccumulatorV2<ObjectWritable<A>, ObjectWritable<A>> other) {
+        this.add(other.value());
     }
 
     @Override
-    public ObjectWritable<A> zero(final ObjectWritable<A> a) {
-        return ObjectWritable.empty();
+    public ObjectWritable<A> value() {
+        return this.value;
     }
 }
diff --git a/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/process/computer/SparkMemory.java b/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/process/computer/SparkMemory.java
index bf8590e..5a04162 100644
--- a/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/process/computer/SparkMemory.java
+++ b/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/process/computer/SparkMemory.java
@@ -18,7 +18,7 @@
  */
 package org.apache.tinkerpop.gremlin.spark.process.computer;
 
-import org.apache.spark.Accumulator;
+import org.apache.spark.util.AccumulatorV2;
 import org.apache.spark.api.java.JavaSparkContext;
 import org.apache.spark.broadcast.Broadcast;
 import org.apache.tinkerpop.gremlin.hadoop.structure.io.ObjectWritable;
@@ -46,7 +46,7 @@ import java.util.concurrent.atomic.AtomicLong;
 public final class SparkMemory implements Memory.Admin, Serializable {
 
     public final Map<String, MemoryComputeKey> memoryComputeKeys = new HashMap<>();
-    private final Map<String, Accumulator<ObjectWritable>> sparkMemory = new HashMap<>();
+    private final Map<String, AccumulatorV2<ObjectWritable,ObjectWritable>> sparkMemory = new HashMap<>();
     private final AtomicInteger iteration = new AtomicInteger(0);
     private final AtomicLong runtime = new AtomicLong(0l);
     private Broadcast<Map<String, Object>> broadcast;
@@ -62,9 +62,9 @@ public final class SparkMemory implements Memory.Admin, Serializable {
             this.memoryComputeKeys.put(mapReduce.getMemoryKey(), MemoryComputeKey.of(mapReduce.getMemoryKey(), Operator.assign, false, false));
         }
         for (final MemoryComputeKey memoryComputeKey : this.memoryComputeKeys.values()) {
-            this.sparkMemory.put(
-                    memoryComputeKey.getKey(),
-                    sparkContext.accumulator(ObjectWritable.empty(), memoryComputeKey.getKey(), new MemoryAccumulator<>(memoryComputeKey)));
+            final AccumulatorV2<ObjectWritable, ObjectWritable> accumulator = new MemoryAccumulator<>(memoryComputeKey);
+            JavaSparkContext.toSparkContext(sparkContext).register(accumulator, memoryComputeKey.getKey());
+            this.sparkMemory.put(memoryComputeKey.getKey(), accumulator);
         }
         this.broadcast = sparkContext.broadcast(Collections.emptyMap());
     }
@@ -135,8 +135,10 @@ public final class SparkMemory implements Memory.Admin, Serializable {
         checkKeyValue(key, value);
         if (this.inExecute)
             throw Memory.Exceptions.memorySetOnlyDuringVertexProgramSetUpAndTerminate(key);
-        else
-            this.sparkMemory.get(key).setValue(new ObjectWritable<>(value));
+        else {
+            this.sparkMemory.get(key).reset();
+            this.sparkMemory.get(key).add(new ObjectWritable<>(value));
+        }
     }
 
     @Override


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

Posted by sp...@apache.org.
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 2a7af99ac8ffb6763e0c1464acd2b471e712d151
Author: stephen <sp...@gmail.com>
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<Element>
         }
     }
 
-    public static <S> boolean testAll(final S element, final List<HasContainer> hasContainers) {
+    public static boolean testAll(final Object element, final List<HasContainer> hasContainers) {
         final boolean isProperty = element instanceof Property;
         for (final HasContainer hasContainer : hasContainers) {
             if (isProperty) {


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

Posted by sp...@apache.org.
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 b7a420e27103269f3b26af1449b0a6613f5495fe
Author: stephen <sp...@gmail.com>
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] 07/27: TINKERPOP-2076 Removed a scala class registration from gryo

Posted by sp...@apache.org.
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 29205dd7bf7fafaaaf12a649a4aae0b023061e45
Author: stephen <sp...@gmail.com>
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] 18/27: updated user-facing docker base images to adoptopenjdk/openjdk11:alpine-slim

Posted by sp...@apache.org.
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 d5f7b90597cf80a2b7a35ea0a29b5a086ce9ad6d
Author: Robert Dale <ro...@gmail.com>
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="dev@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="dev@tinkerpop.apache.org"
 


[tinkerpop] 26/27: TINKERPOP-2076 Use python3 to run console integration tests

Posted by sp...@apache.org.
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 f10d0319f66a231eff43f3a29c3f8edb38a380ad
Author: Stephen Mallette <sp...@genoprime.com>
AuthorDate: Wed Mar 11 09:15:26 2020 -0400

    TINKERPOP-2076 Use python3 to run console integration tests
---
 gremlin-console/pom.xml | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/gremlin-console/pom.xml b/gremlin-console/pom.xml
index c3ce1b9..dd5b518 100644
--- a/gremlin-console/pom.xml
+++ b/gremlin-console/pom.xml
@@ -339,6 +339,14 @@ limitations under the License.
                                         <copy todir="${project.build.directory}/python">
                                             <fileset dir="src/test/python"/>
                                         </copy>
+                                        <exec dir="${project.build.directory}/python" executable="python3"
+                                              failonerror="true">
+                                            <arg line="--version"/>
+                                        </exec>
+                                        <exec dir="${project.build.directory}/python" executable="virtualenv"
+                                              failonerror="true">
+                                            <arg line="--version"/>
+                                        </exec>
                                         <exec dir="${project.build.directory}/python" executable="virtualenv"
                                               failonerror="true">
                                             <arg line="--python=python3 env"/>


[tinkerpop] 22/27: TINKERPOP-2076 Fixed more warnings in maven build

Posted by sp...@apache.org.
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 6866e7203021936897bd7365c8db49a5e5d9e9d9
Author: stephen <sp...@gmail.com>
AuthorDate: Wed Jan 8 11:20:13 2020 -0500

    TINKERPOP-2076 Fixed more warnings in maven build
---
 .../gremlin/process/traversal/dsl/graph/GraphTraversal.java    |  8 ++++----
 .../traversal/strategy/decoration/PartitionStrategy.java       |  2 +-
 .../strategy/verification/LambdaRestrictionStrategy.java       | 10 +++++-----
 .../java/org/apache/tinkerpop/gremlin/structure/Direction.java |  2 +-
 .../main/java/org/apache/tinkerpop/gremlin/structure/Edge.java |  2 +-
 .../java/org/apache/tinkerpop/gremlin/structure/Vertex.java    |  2 +-
 .../java/org/apache/tinkerpop/gremlin/util/TestSupport.java    |  5 +----
 .../gremlin/process/traversal/step/filter/RangeTest.java       |  8 ++++----
 .../gremlin/process/traversal/step/filter/TailTest.java        |  4 ++--
 9 files changed, 20 insertions(+), 23 deletions(-)

diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
index 8edecc9..902cc03 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
@@ -2633,13 +2633,13 @@ public interface GraphTraversal<S, E> extends Traversal<S, E> {
      * Indexes all items of the current collection. The indexing format can be configured using the {@link GraphTraversal#with(String, Object)}
      * and {@link org.apache.tinkerpop.gremlin.process.traversal.step.util.WithOptions#indexer}.
      *
-     * Indexed as list: ["a","b","c"] => [["a",0],["b",1],["c",2]]
-     * Indexed as map:  ["a","b","c"] => {0:"a",1:"b",2:"c"}
+     * Indexed as list: ["a","b","c"] =&gt; [["a",0],["b",1],["c",2]]
+     * Indexed as map:  ["a","b","c"] =&gt; {0:"a",1:"b",2:"c"}
      *
      * If the current object is not a collection, this step will map the object to a single item collection/map:
      *
-     * Indexed as list: "a" => ["a",0]
-     * Indexed as map:  "a" => {0:"a"}
+     * Indexed as list: "a" =&gt; ["a",0]
+     * Indexed as map:  "a" =&gt; {0:"a"}
      *
      * @return the traversal with an appended {@link IndexStep}
      * @see <a href="http://tinkerpop.apache.org/docs/${project.version}/reference/#index-step" target="_blank">Reference Documentation - Index Step</a>
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/decoration/PartitionStrategy.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/decoration/PartitionStrategy.java
index 9f8a46a..2103bf5 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/decoration/PartitionStrategy.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/decoration/PartitionStrategy.java
@@ -73,7 +73,7 @@ import java.util.stream.Collectors;
 /**
  * {@code PartitionStrategy} partitions the vertices, edges and vertex properties of a graph into String named
  * partitions (i.e. buckets, subgraphs, etc.).  It blinds a {@link Traversal} from "seeing" specified areas of
- * the graph given the partition names assigned to {@link Builder#addReadPartition(String)}.  The traversal will
+ * the graph given the partition names assigned to {@link Builder#readPartitions(String...)}.  The traversal will
  * ignore all graph elements not in those "read" partitions.
  *
  * @author Stephen Mallette (http://stephen.genoprime.com)
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/verification/LambdaRestrictionStrategy.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/verification/LambdaRestrictionStrategy.java
index 642d17a..71999c5 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/verification/LambdaRestrictionStrategy.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/verification/LambdaRestrictionStrategy.java
@@ -34,11 +34,11 @@ import org.apache.tinkerpop.gremlin.process.traversal.strategy.AbstractTraversal
  *
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  * @example <pre>
- * __.out().map(v -> v.get().value("name"))           // throws an IllegalStateException
- * __.out().filter(v -> v.bulk() > 2)                 // throws an IllegalStateException
- * __.choose(v -> v.sack() == 1,out(),in())           // throws an IllegalStateException
- * __.select().by(v -> v.get().id())                  // throws an IllegalStateException
- * __.order().by(a,b -> a > b)                        // throws an IllegalStateException
+ * __.out().map(v -&gt; v.get().value("name"))           // throws an IllegalStateException
+ * __.out().filter(v -&gt; v.bulk() &gt; 2)              // throws an IllegalStateException
+ * __.choose(v -&gt; v.sack() == 1,out(),in())           // throws an IllegalStateException
+ * __.select().by(v -&gt; v.get().id())                  // throws an IllegalStateException
+ * __.order().by(a,b -&gt; a &gt; b)                        // throws an IllegalStateException
  * </pre>
  */
 public final class LambdaRestrictionStrategy extends AbstractTraversalStrategy<TraversalStrategy.VerificationStrategy> implements TraversalStrategy.VerificationStrategy {
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/Direction.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/Direction.java
index d412e24..11db13d 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/Direction.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/Direction.java
@@ -23,7 +23,7 @@ package org.apache.tinkerpop.gremlin.structure;
  * {@link Edge}. For example:
  * <p/>
  * <pre>
- * gremlin--knows-->rexster
+ * gremlin--knows--&gt;rexster
  * </pre>
  * is an {@link Direction#OUT} {@link Edge} for Gremlin and an {@link Direction#IN} edge for Rexster. Moreover, given
  * that {@link Edge}, Gremlin is the {@link Direction#OUT} {@link Vertex} and Rexster is the {@link Direction#IN}
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/Edge.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/Edge.java
index 6df38d2..fba9ae7 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/Edge.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/Edge.java
@@ -29,7 +29,7 @@ import java.util.Iterator;
  * <p/>
  * Diagrammatically:
  * <pre>
- * outVertex ---label---> inVertex.
+ * outVertex ---label---&gt; inVertex.
  * </pre>
  *
  * @author Marko A. Rodriguez (http://markorodriguez.com)
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/Vertex.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/Vertex.java
index 7b0d2a5..a972c72 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/Vertex.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/Vertex.java
@@ -29,7 +29,7 @@ import java.util.Iterator;
  * <p/>
  * Diagrammatically:
  * <pre>
- * ---inEdges---> vertex ---outEdges--->.
+ * ---inEdges---&gt; vertex ---outEdges---&gt;.
  * </pre>
  *
  * @author Marko A. Rodriguez (http://markorodriguez.com)
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/TestSupport.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/TestSupport.java
index 66820d6..0f89200 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/TestSupport.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/TestSupport.java
@@ -19,8 +19,6 @@
 package org.apache.tinkerpop.gremlin.util;
 
 import org.apache.tinkerpop.gremlin.structure.io.Storage;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import java.io.File;
 import java.io.FileOutputStream;
@@ -28,7 +26,6 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.net.URL;
 import java.util.List;
-import java.util.Random;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
@@ -160,7 +157,7 @@ public class TestSupport {
 
     /**
      * Copies a file stored as part of a resource to the file system in the path returned from
-     * {@link TestHelper#makeTestDataPath} in a subdirectory called {@code temp/resources}.
+     * {@link TestSupport#makeTestDataPath} in a subdirectory called {@code temp/resources}.
      */
     public static File generateTempFileFromResource(final Class graphClass, final Class resourceClass,
                                                     final String resourceName, final String extension, final boolean overwrite) throws IOException {
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/RangeTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/RangeTest.java
index 3a565be..5480108 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/RangeTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/RangeTest.java
@@ -183,7 +183,7 @@ public abstract class RangeTest extends AbstractGremlinProcessTest {
     }
 
     /**
-     * Scenario: limit step, Scope.local, >1 item requested, List<String> input, List<String> output
+     * Scenario: limit step, Scope.local, &gt;1 item requested, List&lt;String&gt; input, List&lt;String&gt; output
      */
     @Test
     @LoadGraphWith(MODERN)
@@ -212,7 +212,7 @@ public abstract class RangeTest extends AbstractGremlinProcessTest {
     }
 
     /**
-     * Scenario: range step, Scope.local, >1 item requested, List<String> input, List<String> output
+     * Scenario: range step, Scope.local, &gt;1 item requested, List&lt;String&gt; input, List&lt;String&gt; output
      */
     @Test
     @LoadGraphWith(MODERN)
@@ -256,7 +256,7 @@ public abstract class RangeTest extends AbstractGremlinProcessTest {
     }
 
     /**
-     * Scenario: limit step, Scope.local, >1 item requested, Map input, Map output
+     * Scenario: limit step, Scope.local, &gt;1 item requested, Map input, Map output
      */
     @Test
     @LoadGraphWith(MODERN)
@@ -286,7 +286,7 @@ public abstract class RangeTest extends AbstractGremlinProcessTest {
     }
 
     /**
-     * Scenario: range step, Scope.local, >1 item requested, Map input, Map output
+     * Scenario: range step, Scope.local, &gt;1 item requested, Map input, Map output
      */
     @Test
     @LoadGraphWith(MODERN)
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/TailTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/TailTest.java
index f48d0af..ce02bb3 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/TailTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/TailTest.java
@@ -147,7 +147,7 @@ public abstract class TailTest extends AbstractGremlinProcessTest {
     }
 
     /**
-     * Scenario: Local scope, List input, N>1
+     * Scenario: Local scope, List input, N&gt;1
      */
     @Test
     @LoadGraphWith(MODERN)
@@ -202,7 +202,7 @@ public abstract class TailTest extends AbstractGremlinProcessTest {
     }
 
     /**
-     * Scenario: Local scope, Map input, N>1
+     * Scenario: Local scope, Map input, N&gt;1
      */
     @Test
     @LoadGraphWith(MODERN)


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

Posted by sp...@apache.org.
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 870a3e0119db76e521830da0a39f2db2ab4be9a8
Author: Stephen Mallette <sp...@genoprime.com>
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 8d92350..02e593a 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -802,6 +802,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 a71f926..423b76a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -150,7 +150,7 @@ limitations under the License.
         <commons.lang.version>2.6</commons.lang.version>
         <commons.lang3.version>3.8.1</commons.lang3.version>
         <groovy.version>2.5.7</groovy.version>
-        <hadoop.version>2.7.2</hadoop.version>
+        <hadoop.version>2.7.7</hadoop.version>
         <java.tuples.version>1.2</java.tuples.version>
         <javadoc-plugin.version>3.1.0</javadoc-plugin.version>
         <jcabi.version>1.1</jcabi.version>


[tinkerpop] 21/27: TINKERPOP-2076 Resolve test inconsistency

Posted by sp...@apache.org.
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 42f621a2218ab60bdd76ac265077a7045c9ec9e0
Author: stephen <sp...@gmail.com>
AuthorDate: Wed Jan 8 10:24:15 2020 -0500

    TINKERPOP-2076 Resolve test inconsistency
    
    Missed a spot where we needed to explicitly count items in a ConcurrentSkipListSet rather than use size() which seems more sensitive in jdk11.
---
 .../apache/tinkerpop/gremlin/process/computer/GraphComputerTest.java    | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

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 a9ebd17..1cd5de5 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
@@ -1288,7 +1288,7 @@ public class GraphComputerTest extends AbstractGremlinProcessTest {
         @Override
         public void reduce(final NullObject key, final Iterator<Integer> values, final ReduceEmitter<NullObject, Integer> emitter) {
             emitter.emit(3);
-            if (WORKER_START.size() == 2) {
+            if (IteratorUtils.count(WORKER_START) == 2) {
                 assertEquals(2, countTrue(WORKER_START));
                 assertTrue(WORKER_START.contains(Stage.MAP) && WORKER_START.contains(Stage.REDUCE));
             } else {


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

Posted by sp...@apache.org.
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 7b30ab5282e013136e95208aee69f4c83662dfe7
Author: Stephen Mallette <sp...@genoprime.com>
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 47327af..70d4345 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
@@ -485,7 +485,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
@@ -902,12 +902,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<Result> r = client.submit("java.time.Instant.ofEpochMilli(" + now.toEpochMilli() + ")").all().join();
+        final List<Result> 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();
     }
@@ -936,12 +935,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<Result> r = client.submit("java.time.Instant.ofEpochMilli(" + now.toEpochMilli() + ")").all().join();
+        final List<Result> 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] 17/27: TINKERPOP-2076 Polished up benchmarking dependencies

Posted by sp...@apache.org.
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 e96dfdcfaf3195a503acec311a2aa5ae40c28a98
Author: stephen <sp...@gmail.com>
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.
             <artifactId>jmh-core</artifactId>
             <version>${jmh.version}</version>
         </dependency>
-        <!--
-            becomes org.eclipse.ee4j after this version which is eclipse/gpl dual licensed, compared to this version
-            which is cddl/gpl dual licensed. the source for this project can be found here:
-
-            https://github.com/javaee/javax.annotation
-        -->
-        <dependency>
-            <groupId>javax.annotation</groupId>
-            <artifactId>javax.annotation-api</artifactId>
-            <version>1.3.2</version>
-            <scope>provided</scope>
-        </dependency>
         <dependency>
             <groupId>org.openjdk.jmh</groupId>
             <artifactId>jmh-generator-annprocess</artifactId>
@@ -90,7 +78,6 @@ limitations under the License.
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-log4j12</artifactId>
-            <optional>true</optional>
         </dependency>
     </dependencies>
     <build>


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

Posted by sp...@apache.org.
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 20cd26f35f580019ef2c81e9b128d091a0796c85
Author: stephen <sp...@gmail.com>
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] 03/27: TINKERPOP-2076 Made expectations around mock more explicit

Posted by sp...@apache.org.
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 bc4bafa462281e8257ef55c7e52eb18935978323
Author: Stephen Mallette <sp...@genoprime.com>
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.
---
 .../apache/tinkerpop/gremlin/server/op/AbstractEvalOpProcessorTest.java  | 1 -
 1 file changed, 1 deletion(-)

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 71e95d9..a8005e8 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
@@ -42,7 +42,6 @@ import static org.mockito.Matchers.anyString;
 
 public class AbstractEvalOpProcessorTest {
 
-    @org.junit.Ignore
     @Test
     public void evalOpInternalShouldHandleAllEvaluationExceptions() throws OpProcessorException {
         final AbstractEvalOpProcessor processor = new StandardOpProcessor();


[tinkerpop] 23/27: TINKERPOP-2076 Bumped to spark 3.0.0-preview2

Posted by sp...@apache.org.
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 5c6893e62a5bea7a21b1fbbf67af9cf50550fc75
Author: stephen <sp...@gmail.com>
AuthorDate: Wed Jan 8 12:44:58 2020 -0500

    TINKERPOP-2076 Bumped to spark 3.0.0-preview2
---
 pom.xml               |  2 +-
 spark-gremlin/pom.xml | 10 ++++++++++
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index eaf725a..b98f228 100644
--- a/pom.xml
+++ b/pom.xml
@@ -159,7 +159,7 @@ limitations under the License.
         <netty.version>4.1.42.Final</netty.version>
         <slf4j.version>1.7.25</slf4j.version>
         <snakeyaml.version>1.15</snakeyaml.version>
-        <spark.version>3.0.0-preview</spark.version>
+        <spark.version>3.0.0-preview2</spark.version>
 
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
diff --git a/spark-gremlin/pom.xml b/spark-gremlin/pom.xml
index 0d7a64d..6483a89 100644
--- a/spark-gremlin/pom.xml
+++ b/spark-gremlin/pom.xml
@@ -111,6 +111,10 @@
                     <groupId>org.xerial.snappy</groupId>
                     <artifactId>snappy-java</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>jakarta.annotation</groupId>
+                    <artifactId>jakarta.annotation-api</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
         <!-- spark self-conflict and hadoop conflict -->
@@ -121,6 +125,12 @@
         </dependency>
         <!-- spark self-conflict -->
         <dependency>
+            <groupId>jakarta.annotation</groupId>
+            <artifactId>jakarta.annotation-api</artifactId>
+            <version>1.3.5</version>
+        </dependency>
+        <!-- spark self-conflict -->
+        <dependency>
             <groupId>org.scala-lang</groupId>
             <artifactId>scala-library</artifactId>
             <version>2.12.10</version>


[tinkerpop] 13/27: TINKERPOP-2076 Enforce java 11 with enforcer plugin

Posted by sp...@apache.org.
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 26bd7db669b1a882e6f52328c9d9bf3205a92dda
Author: stephen <sp...@gmail.com>
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 29c68dc..eaf725a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -201,7 +201,7 @@ limitations under the License.
                             <rules>
                                 <DependencyConvergence/>
                                 <requireJavaVersion>
-                                    <version>[1.8.0-40,)</version>
+                                    <version>[11,)</version>
                                 </requireJavaVersion>
                                 <requireMavenVersion>
                                     <version>[3.3.9,)</version>


[tinkerpop] 10/27: TINKERPOP-2076 Made docker build compatible with jdk11

Posted by sp...@apache.org.
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 0a02d21d7b99ec0ce2ccd9398e8c8520c8687f64
Author: stephen <sp...@gmail.com>
AuthorDate: Tue Nov 12 07:35:05 2019 -0500

    TINKERPOP-2076 Made docker build compatible with jdk11
---
 docker/Dockerfile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docker/Dockerfile b/docker/Dockerfile
index 3fd2c39..9495732 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -25,7 +25,7 @@ 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
 


[tinkerpop] 24/27: TINKERPOP-2076 Resolve commons-text conflict after rebase

Posted by sp...@apache.org.
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 9249f86fff765412d4ce0612dc4cf450e159bea7
Author: Stephen Mallette <sp...@genoprime.com>
AuthorDate: Tue Mar 10 18:16:16 2020 -0400

    TINKERPOP-2076 Resolve commons-text conflict after rebase
    
    Spark 3.0 conflicted with gremlin-core
---
 spark-gremlin/pom.xml | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/spark-gremlin/pom.xml b/spark-gremlin/pom.xml
index 6483a89..34efb78 100644
--- a/spark-gremlin/pom.xml
+++ b/spark-gremlin/pom.xml
@@ -115,6 +115,10 @@
                     <groupId>jakarta.annotation</groupId>
                     <artifactId>jakarta.annotation-api</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>org.apache.commons</groupId>
+                    <artifactId>commons-text</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
         <!-- spark self-conflict and hadoop conflict -->


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

Posted by sp...@apache.org.
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 180e8e6e67e31f582f3fb503f45c9e379128e51d
Author: Stephen Mallette <sp...@genoprime.com>
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().<Integer>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<NullObject, Integer> 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<Integer> values, final ReduceEmitter<NullObject, Integer> 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<Integer> values, final ReduceEmitter<NullObject, Integer> 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";
         }
+
+        /**
+         * Javadoc for {@code ConcurrentSkipListSet} includes this little note: "Beware that, unlike in most
+         * collections, the size method is not a constant-time operation." Doing a traversal of elements will yield
+         * the correct count. Java 11 upgrade seemed to force this failure consistently.
+         */
+        static int countTrue(final Set<Stage> s) {
+            return Long.valueOf(IteratorUtils.count(s)).intValue();
+        }
     }
 
     /////////////////////////////////////////////


[tinkerpop] 12/27: TINKERPOP-2076 More Java 11 documentation updates

Posted by sp...@apache.org.
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 7bfaaf018712730e782e0b55f63e8260b221d315
Author: stephen <sp...@gmail.com>
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 ab5ab63..6eafd87 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:https://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 12765e7..5f29df3 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] 11/27: TINKERPOP-2076 Cleaned up references to "java 8"

Posted by sp...@apache.org.
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 a4ea047a077e911c6f4b3a59355b827e4e761dbd
Author: stephen <sp...@gmail.com>
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 c14e16c..9abf655 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -44,6 +44,7 @@ This release also includes changes from <<release-3-4-3, 3.4.3>>.
 * 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 d5cc14b..8f35ce9 100644
--- a/docs/site/home/providers.html
+++ b/docs/site/home/providers.html
@@ -280,7 +280,7 @@ WHERE(Created.by(Friends.of("gremlin")))</code></pre>
          </div>
          <div class="col-sm-6 col-md-6">
             <a href="https://tinkerpop.apache.org/docs/current/reference/#_on_gremlin_language_variants"><img src="img/logos/gremlin-java-logo.png" style="padding-right:20px;float:left;width:35%;"></a>
-            <a href="https://tinkerpop.apache.org/docs/current/reference/#_on_gremlin_language_variants">Gremlin-Java</a> 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.
+            <a href="https://tinkerpop.apache.org/docs/current/reference/#_on_gremlin_language_variants">Gremlin-Java</a> 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.
          </div>
       </div>
       <br/>
diff --git a/docs/src/dev/developer/for-committers.asciidoc b/docs/src/dev/developer/for-committers.asciidoc
index 93e61f4..8f7b63d 100644
--- a/docs/src/dev/developer/for-committers.asciidoc
+++ b/docs/src/dev/developer/for-committers.asciidoc
@@ -232,7 +232,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 9d67394..ad9bef8 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 and its validation via the `gremlin-test` suite is all that is required of a graph system provider wishing to
 provide a TinkerPop-enabled graph engine. Once a graph system has a valid implementation, then all the applications
 provided by TinkerPop (e.g. Gremlin Console, Gremlin Server, etc.) and 3rd-party developers (e.g. Gremlin-Scala,
@@ -79,7 +79,7 @@ In the above code all the vertices are created first and then their respective e
 `Graph.addVertex(Object...)` or `Vertex.addEdge(String,Vertex,Object...)`, the respective element is created along
 with the provided key/value pair properties appended to it.
 
-Below is a sequence of basic graph mutation operations represented in Java 8.
+Below is a sequence of basic graph mutation operations represented in Java:
 
 image:basic-mutation.png[width=240,float=right]
 [source,java]
diff --git a/docs/src/reference/gremlin-applications.asciidoc b/docs/src/reference/gremlin-applications.asciidoc
index 38777c0..af1ce46 100644
--- a/docs/src/reference/gremlin-applications.asciidoc
+++ b/docs/src/reference/gremlin-applications.asciidoc
@@ -2350,7 +2350,7 @@ image:gremlin-sugar.png[width=120,float=left] In previous versions of Gremlin-Gr
 link:http://en.wikipedia.org/wiki/Syntactic_sugar[syntactic sugars] that users could rely on to make their traversals
 more succinct. Unfortunately, many of these conventions made use of link:http://docs.oracle.com/javase/tutorial/reflect/[Java reflection]
 and thus, were not performant. In TinkerPop, these conveniences have been removed in support of the standard
-Gremlin-Groovy syntax being both inline with Gremlin-Java8 syntax as well as always being the most performant
+Gremlin-Groovy syntax being both inline with Gremlin-Java syntax as well as always being the most performant
 representation. However, for those users that would like to use the previous syntactic sugars (as well as new ones),
 there is `SugarGremlinPlugin` (a.k.a Gremlin-Groovy-Sugar).
 
diff --git a/docs/src/reference/implementations-tinkergraph.asciidoc b/docs/src/reference/implementations-tinkergraph.asciidoc
index 2dd6bf6..b3a71ca 100644
--- a/docs/src/reference/implementations-tinkergraph.asciidoc
+++ b/docs/src/reference/implementations-tinkergraph.asciidoc
@@ -39,7 +39,7 @@ purposes.
 * Use TinkerGraph as a sandbox to develop and debug complex traversals by simulating data from a larger graph inside
 a TinkerGraph.
 
-Constructing a simple graph using TinkerGraph in Java8 is presented below:
+Constructing a simple graph using TinkerGraph in Java is presented below:
 
 [source,java]
 ----
diff --git a/docs/src/upgrade/appendix.asciidoc b/docs/src/upgrade/appendix.asciidoc
index a9df0e4..7ce5b22 100644
--- a/docs/src/upgrade/appendix.asciidoc
+++ b/docs/src/upgrade/appendix.asciidoc
@@ -24,8 +24,8 @@ This section contains a few notes that reference differences between TinkerPop 2
 
 One of the major differences between TinkerPop 2.x and TinkerPop 3.x is that in TinkerPop 3.x, the Java convention of
 using setters and getters was abandoned in favor of a syntax that is more aligned with the syntax of Gremlin-Groovy in
-TinkerPop2. Given that Gremlin-Java8 and Gremlin-Groovy are nearly identical due to the inclusion of Java 8 lambdas, a
-big effort was made to ensure that both languages were as similar as possible.
+TinkerPop2. Given that Gremlin-Java and Gremlin-Groovy are nearly identical due to the inclusion of lambdas from
+Java 8, a big effort was made to ensure that both languages were as similar as possible.
 
 In addition, TinkerPop2 and below made a sharp distinction between the various TinkerPop projects: Blueprints, Pipes,
 Gremlin, Frames, Furnace, and Rexster. With TinkerPop 3.x, all of these projects have been merged and are generally
diff --git a/gremlin-archetype/gremlin-archetype-dsl/src/main/resources/archetype-resources/README.asciidoc b/gremlin-archetype/gremlin-archetype-dsl/src/main/resources/archetype-resources/README.asciidoc
index 49fd7c8..1471018 100644
--- a/gremlin-archetype/gremlin-archetype-dsl/src/main/resources/archetype-resources/README.asciidoc
+++ b/gremlin-archetype/gremlin-archetype-dsl/src/main/resources/archetype-resources/README.asciidoc
@@ -23,8 +23,8 @@ tests in `SocialDslTest` for actual DSL usage.
 
 == Prerequisites
 
-* Java 8 Update 40+
-* link:https://maven.apache.org/[Maven 3.x]
+* Java 11
+* link:https://maven.apache.org/[Maven 3.3+]
 
 == Building and Running
 
diff --git a/gremlin-archetype/gremlin-archetype-dsl/src/main/resources/archetype-resources/pom.xml b/gremlin-archetype/gremlin-archetype-dsl/src/main/resources/archetype-resources/pom.xml
index d7bb31c..d50f5aa 100644
--- a/gremlin-archetype/gremlin-archetype-dsl/src/main/resources/archetype-resources/pom.xml
+++ b/gremlin-archetype/gremlin-archetype-dsl/src/main/resources/archetype-resources/pom.xml
@@ -49,13 +49,14 @@ limitations under the License.
     <build>
         <plugins>
             <plugin>
-                <!-- TinkerPop3 requires Java 8 -->
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-compiler-plugin</artifactId>
-                <version>3.3</version>
+                <version>3.8.0</version>
                 <configuration>
-                    <source>1.8</source>
-                    <target>1.8</target>
+                    <release>11</release>
+                    <compilerArgs>
+                        <arg>-parameters</arg>
+                    </compilerArgs>
                 </configuration>
             </plugin>
         </plugins>
diff --git a/gremlin-archetype/gremlin-archetype-server/src/main/resources/archetype-resources/README.asciidoc b/gremlin-archetype/gremlin-archetype-server/src/main/resources/archetype-resources/README.asciidoc
index d4a0eb1..9daafb2 100644
--- a/gremlin-archetype/gremlin-archetype-server/src/main/resources/archetype-resources/README.asciidoc
+++ b/gremlin-archetype/gremlin-archetype-server/src/main/resources/archetype-resources/README.asciidoc
@@ -24,8 +24,8 @@ distributed by TinkerPop.
 
 == Prerequisites
 
-* Java 8 Update 40+
-* link:https://maven.apache.org/[Maven 3.x]
+* Java 11
+* link:https://maven.apache.org/[Maven 3.3+]
 * Gremlin Server is link:http://archive.apache.org/dist/tinkerpop/[downloaded] and unpackaged
 
 == Building and Running
diff --git a/gremlin-archetype/gremlin-archetype-server/src/main/resources/archetype-resources/pom.xml b/gremlin-archetype/gremlin-archetype-server/src/main/resources/archetype-resources/pom.xml
index ca29604..1e3254a 100644
--- a/gremlin-archetype/gremlin-archetype-server/src/main/resources/archetype-resources/pom.xml
+++ b/gremlin-archetype/gremlin-archetype-server/src/main/resources/archetype-resources/pom.xml
@@ -55,19 +55,20 @@ limitations under the License.
     <build>
         <plugins>
             <plugin>
-                <!-- TinkerPop3 requires Java 8 -->
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-compiler-plugin</artifactId>
-                <version>3.3</version>
+                <version>3.8.0</version>
                 <configuration>
-                    <source>1.8</source>
-                    <target>1.8</target>
+                    <release>11</release>
+                    <compilerArgs>
+                        <arg>-parameters</arg>
+                    </compilerArgs>
                 </configuration>
             </plugin>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-surefire-plugin</artifactId>
-                <version>2.17</version>
+                <version>2.22.0</version>
                 <configuration>
                     <systemPropertyVariables>
                         <log4j.configuration>file:conf/log4j-test.properties</log4j.configuration>
diff --git a/gremlin-archetype/gremlin-archetype-tinkergraph/src/main/resources/archetype-resources/README.asciidoc b/gremlin-archetype/gremlin-archetype-tinkergraph/src/main/resources/archetype-resources/README.asciidoc
index ddb6de6..6535647 100644
--- a/gremlin-archetype/gremlin-archetype-tinkergraph/src/main/resources/archetype-resources/README.asciidoc
+++ b/gremlin-archetype/gremlin-archetype-tinkergraph/src/main/resources/archetype-resources/README.asciidoc
@@ -22,8 +22,8 @@ embedded graph database, loads it with some data and then executes a shortest pa
 
 == Prerequisites
 
-* Java 8 Update 40+
-* link:https://maven.apache.org/[Maven 3.x]
+* Java 11
+* link:https://maven.apache.org/[Maven 3.3+]
 
 == Building and Running
 
diff --git a/gremlin-archetype/gremlin-archetype-tinkergraph/src/main/resources/archetype-resources/pom.xml b/gremlin-archetype/gremlin-archetype-tinkergraph/src/main/resources/archetype-resources/pom.xml
index 0727319..06a840a 100644
--- a/gremlin-archetype/gremlin-archetype-tinkergraph/src/main/resources/archetype-resources/pom.xml
+++ b/gremlin-archetype/gremlin-archetype-tinkergraph/src/main/resources/archetype-resources/pom.xml
@@ -49,13 +49,14 @@ limitations under the License.
     <build>
         <plugins>
             <plugin>
-                <!-- TinkerPop3 requires Java 8 -->
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-compiler-plugin</artifactId>
-                <version>3.3</version>
+                <version>3.8.0</version>
                 <configuration>
-                    <source>1.8</source>
-                    <target>1.8</target>
+                    <release>11</release>
+                    <compilerArgs>
+                        <arg>-parameters</arg>
+                    </compilerArgs>
                 </configuration>
             </plugin>
         </plugins>
diff --git a/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/process/computer/TinkerMessenger.java b/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/process/computer/TinkerMessenger.java
index 3e49c34..dd993c1 100644
--- a/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/process/computer/TinkerMessenger.java
+++ b/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/process/computer/TinkerMessenger.java
@@ -66,7 +66,7 @@ public final class TinkerMessenger<M> implements Messenger<M> {
                 final MessageScope.Local<M> localMessageScope = (MessageScope.Local<M>) messageScope;
                 final Traversal.Admin<Vertex, Edge> incidentTraversal = TinkerMessenger.setVertexStart(localMessageScope.getIncidentTraversal().get().asAdmin(), this.vertex);
                 final Direction direction = TinkerMessenger.getDirection(incidentTraversal);
-                final Edge[] edge = new Edge[1]; // simulates storage side-effects available in Gremlin, but not Java8 streams
+                final Edge[] edge = new Edge[1]; // simulates storage side-effects available in Gremlin, but not Java streams
                 multiIterator.addIterator(StreamSupport.stream(Spliterators.spliteratorUnknownSize(VertexProgramHelper.reverse(incidentTraversal.asAdmin()), Spliterator.IMMUTABLE | Spliterator.SIZED), false)
                         .map((Edge e) -> {
                             edge[0] = e;


[tinkerpop] 08/27: TINKERPOP-2076 Fixed bad merge operation in the MemoryAccumulator

Posted by sp...@apache.org.
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 ad1279614cccfe1bda0a310dd5bcc30e7804c0be
Author: stephen <sp...@gmail.com>
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<A> extends AccumulatorV2<ObjectWritable<A>,
     public void add(final ObjectWritable<A> 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] 01/27: TINKERPOP-2076 Initial effort to get TinkerPop building on Java 11

Posted by sp...@apache.org.
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 c3167d13b1fdf63537a420b45c117fcbfc5319f8
Author: Stephen Mallette <sp...@genoprime.com>
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                                            | 31 ++++++++++++--------
 11 files changed, 112 insertions(+), 18 deletions(-)

diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 600b63f..8d92350 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -801,6 +801,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 5c80de6..75814ce 100644
--- a/gremlin-core/pom.xml
+++ b/gremlin-core/pom.xml
@@ -115,7 +115,36 @@ limitations under the License.
         <dependency>
             <groupId>com.google.testing.compile</groupId>
             <artifactId>compile-testing</artifactId>
-            <version>0.10</version>
+            <version>0.15</version>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>com.google.guava</groupId>
+                    <artifactId>guava</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>com.google.errorprone</groupId>
+                    <artifactId>error_prone_annotations</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <!-- resolve self-conflict within compile-testing -->
+        <dependency>
+            <groupId>com.google.guava</groupId>
+            <artifactId>guava</artifactId>
+            <version>23.4-android</version>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>com.google.errorprone</groupId>
+                    <artifactId>error_prone_annotations</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>com.google.errorprone</groupId>
+            <artifactId>error_prone_annotations</artifactId>
+            <version>2.0.19</version>
             <scope>test</scope>
             <exclusions>
               <exclusion>
@@ -148,8 +177,7 @@ limitations under the License.
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-compiler-plugin</artifactId>
                 <configuration>
-                    <source>1.8</source>
-                    <target>1.8</target>
+                    <release>11</release>
                     <compilerArgs>
                         <arg>-parameters</arg>
                         <arg>-proc:none</arg>
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 100644
--- 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
@@ -150,11 +150,11 @@ public final class OrderGlobalStep<S, C extends Comparable> extends CollectingBa
     }
 
     private final ProjectedTraverser<S, C> createProjectedTraverser(final Traverser.Admin<S> traverser) {
-        final List<C> projections = new ArrayList<>(this.comparators.size());
+        final List<Object> projections = new ArrayList<>(this.comparators.size());
         for (final Pair<Traversal.Admin<S, C>, Comparator<C>> pair : this.comparators) {
             projections.add(TraversalUtil.apply(traverser, pair.getValue0()));
         }
-        return new ProjectedTraverser<>(traverser, projections);
+        return new ProjectedTraverser(traverser, projections);
     }
 
     private final MultiComparator<C> createMultiComparator() {
diff --git a/gremlin-groovy/pom.xml b/gremlin-groovy/pom.xml
index bbae2b5..c4373b4 100644
--- a/gremlin-groovy/pom.xml
+++ b/gremlin-groovy/pom.xml
@@ -157,6 +157,13 @@ limitations under the License.
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-javadoc-plugin</artifactId>
+                <configuration>
+                    <skip>true</skip>
+                </configuration>
+            </plugin>
         </plugins>
     </build>
 </project>
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 a8005e8..71e95d9 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
@@ -42,6 +42,7 @@ import static org.mockito.Matchers.anyString;
 
 public class AbstractEvalOpProcessorTest {
 
+    @org.junit.Ignore
     @Test
     public void evalOpInternalShouldHandleAllEvaluationExceptions() throws OpProcessorException {
         final AbstractEvalOpProcessor processor = new StandardOpProcessor();
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 7d8b6a1..d9bf2e1 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,6 +1168,7 @@ public class GraphComputerTest extends AbstractGremlinProcessTest {
     /////////////////////////////////////////////
 
     /////////////////////////////////////////////
+    @org.junit.Ignore
     @Test
     @LoadGraphWith(MODERN)
     public void shouldStartAndEndWorkersForVertexProgramAndMapReduce() throws Exception {
diff --git a/gremlin-tools/gremlin-benchmark/README.asciidoc b/gremlin-tools/gremlin-benchmark/README.asciidoc
new file mode 100644
index 0000000..84f8d5f
--- /dev/null
+++ b/gremlin-tools/gremlin-benchmark/README.asciidoc
@@ -0,0 +1,31 @@
+////
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+////
+== Apache TinkerPop Benchmarks
+
+This module is for development and testing only and no convenience binaries are produced for it. The compilation
+of this module requires:
+
+[source,xml]
+----
+<dependency>
+    <groupId>javax.annotation</groupId>
+    <artifactId>javax.annotation-api</artifactId>
+    <scope>provided</scope>
+</dependency>
+----
+
+The source for this project can be found at link:javaee/javax.annotation:https://github.com/javaee/javax.annotation.
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-benchmark/pom.xml b/gremlin-tools/gremlin-benchmark/pom.xml
index 2ccbe8d..e2e75a0 100644
--- a/gremlin-tools/gremlin-benchmark/pom.xml
+++ b/gremlin-tools/gremlin-benchmark/pom.xml
@@ -60,10 +60,27 @@ limitations under the License.
             <version>${project.version}</version>
         </dependency>
         <dependency>
+            <groupId>org.apache.tinkerpop</groupId>
+            <artifactId>tinkergraph-gremlin</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
             <groupId>org.openjdk.jmh</groupId>
             <artifactId>jmh-core</artifactId>
             <version>${jmh.version}</version>
         </dependency>
+        <!--
+            becomes org.eclipse.ee4j after this version which is eclipse/gpl dual licensed, compared to this version
+            which is cddl/gpl dual licensed. the source for this project can be found here:
+
+            https://github.com/javaee/javax.annotation
+        -->
+        <dependency>
+            <groupId>javax.annotation</groupId>
+            <artifactId>javax.annotation-api</artifactId>
+            <version>1.3.2</version>
+            <scope>provided</scope>
+        </dependency>
         <dependency>
             <groupId>org.openjdk.jmh</groupId>
             <artifactId>jmh-generator-annprocess</artifactId>
diff --git a/pom.xml b/pom.xml
index c667218..a71f926 100644
--- a/pom.xml
+++ b/pom.xml
@@ -152,7 +152,7 @@ limitations under the License.
         <groovy.version>2.5.7</groovy.version>
         <hadoop.version>2.7.2</hadoop.version>
         <java.tuples.version>1.2</java.tuples.version>
-        <javadoc-plugin.version>2.10.4</javadoc-plugin.version>
+        <javadoc-plugin.version>3.1.0</javadoc-plugin.version>
         <jcabi.version>1.1</jcabi.version>
         <log4j.version>1.2.17</log4j.version>
         <metrics.version>3.0.2</metrics.version>
@@ -188,7 +188,9 @@ limitations under the License.
                 <artifactId>maven-compiler-plugin</artifactId>
             </plugin>
             <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-enforcer-plugin</artifactId>
+                <version>3.0.0-M2</version>
                 <executions>
                     <execution>
                         <id>enforce-all</id>
@@ -237,7 +239,7 @@ limitations under the License.
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-javadoc-plugin</artifactId>
                 <configuration>
-                    <additionalparam>-Xdoclint:none</additionalparam>
+                    <additionalJOption>-Xdoclint:none</additionalJOption>
                     <tags>
                         <tag>
                             <name>example</name>
@@ -254,7 +256,7 @@ limitations under the License.
                         </goals>
                         <phase>site</phase>
                         <configuration>
-                            <additionalparam>-Xdoclint:none</additionalparam>
+                            <additionalJOption>-Xdoclint:none</additionalJOption>
                             <includeDependencySources>true</includeDependencySources>
                             <dependencySourceIncludes>
                                 <dependencySourceInclude>org.apache.tinkerpop:*</dependencySourceInclude>
@@ -446,10 +448,9 @@ limitations under the License.
                 <plugin>
                     <groupId>org.apache.maven.plugins</groupId>
                     <artifactId>maven-compiler-plugin</artifactId>
-                    <version>3.7.0</version>
+                    <version>3.8.0</version>
                     <configuration>
-                        <source>1.8</source>
-                        <target>1.8</target>
+                        <release>11</release>
                         <compilerArgs>
                             <arg>-parameters</arg>
                         </compilerArgs>
@@ -463,9 +464,10 @@ limitations under the License.
                 <plugin>
                     <groupId>org.apache.maven.plugins</groupId>
                     <artifactId>maven-surefire-plugin</artifactId>
-                    <version>2.21.0</version>
+                    <version>2.22.0</version>
                     <configuration>
-                        <argLine>-Dlog4j.configuration=${log4j-test.properties} -Dbuild.dir=${project.build.directory} -Dis.testing=true -Djava.net.preferIPv4Stack=true
+                        <argLine>
+                            -Dlog4j.configuration=${log4j-test.properties} -Dbuild.dir=${project.build.directory} -Dis.testing=true -Djava.net.preferIPv4Stack=true
                         </argLine>
                         <trimStackTrace>false</trimStackTrace>
                         <excludes>
@@ -488,7 +490,8 @@ limitations under the License.
                                     <include>**/*IntegrateTest.java</include>
                                 </includes>
                                 <skipTests>${skipIntegrationTests}</skipTests>
-                                <argLine>-Dlog4j.configuration=${log4j-test.properties} -Dhost=localhost -Dport=8182 -Dbuild.dir=${project.build.directory} -Dis.testing=true -Djava.net.preferIPv4Stack=true
+                                <argLine>
+                                    -Dlog4j.configuration=${log4j-test.properties} -Dhost=localhost -Dport=8182 -Dbuild.dir=${project.build.directory} -Dis.testing=true -Djava.net.preferIPv4Stack=true
                                 </argLine>
                                 <summaryFile>target/failsafe-reports/failsafe-integration.xml</summaryFile>
                             </configuration>
@@ -531,7 +534,7 @@ limitations under the License.
                     <artifactId>gmavenplus-plugin</artifactId>
                     <version>1.9.0</version>
                     <configuration>
-                        <targetBytecode>1.8</targetBytecode>
+                        <targetBytecode>11</targetBytecode>
                         <invokeDynamic>true</invokeDynamic>
                     </configuration>
                 </plugin>
@@ -1203,12 +1206,16 @@ limitations under the License.
                                 <inherited>false</inherited>
                                 <configuration>
                                     <destDir>full</destDir>
-                                    <additionalparam>-Xdoclint:none</additionalparam>
+                                    <additionalJOption>-Xdoclint:none</additionalJOption>
                                     <overview>${basedir}/docs/javadoc/overview.html</overview>
                                     <quiet>true</quiet>
                                     <sourcepath>
                                         gremlin-core/src/main/java:gremlin-driver/src/main/java:gremlin-groovy/src/main/java:gremlin-python/src/main/java:gremlin-server/src/main/java:gremlin-test/src/main/java:hadoop-gremlin/src/main/java:neo4j-gremlin/src/main/java:spark-gremlin/src/main/java:tinkergraph-gremlin/src/main/java
                                     </sourcepath>
+                                    <includeDependencySources>true</includeDependencySources>
+                                    <dependencySourceIncludes>
+                                        <dependencySourceInclude>org.apache.tinkerpop:*</dependencySourceInclude>
+                                    </dependencySourceIncludes>
                                 </configuration>
                             </execution>
                             <execution>
@@ -1220,7 +1227,7 @@ limitations under the License.
                                 <inherited>false</inherited>
                                 <configuration>
                                     <destDir>core</destDir>
-                                    <additionalparam>-Xdoclint:none</additionalparam>
+                                    <additionalJOption>-Xdoclint:none</additionalJOption>
                                     <overview>${basedir}/docs/javadoc/overview.html</overview>
                                     <quiet>true</quiet>
                                     <sourcepath>