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 2019/12/03 19:44:26 UTC

[tinkerpop] branch TINKERPOP-2076 updated (36306a2 -> 469d5fe)

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 36306a2  updated user-facing docker base images to adoptopenjdk/openjdk11:alpine-slim
 discard c21f8a2  TINKERPOP-2076 Polished up benchmarking dependencies
 discard 78e4a87  TINKERPOP-2076 Registered scala.reflect.ManifestFactory$AnyManifest with gryo
 discard a21535a  TINKERPOP-2076 Use bionic for testing with travis and bump to jdk11
 discard 43348fa  TINKERPOP-2076 Re-enabled javadoc for gremlin-groovy
 discard 2f4326a  TINKERPOP-2076 Enforce java 11 with enforcer plugin
 discard 248c34d  TINKERPOP-2076 More Java 11 documentation updates
 discard 107c386  TINKERPOP-2076 Cleaned up references to "java 8"
 discard 5d31bed  TINKERPOP-2076 Made docker build compatible with jdk11
 discard 719bf38  TINKERPOP-2076 Minor adjustments to gryo registrations to get spark integration tests passing
 discard a3fd3d4  TINKERPOP-2076 Fixed bad merge operation in the MemoryAccumulator
 discard da80e23  TINKERPOP-2076 Removed a scala class registration from gryo
 discard 6833c7b  TINKERPOP-2076 Bump to spark 3.0 with jdk11 support
 discard c4189ac  TINKERPOP-2076 Fixed mockito usage after rebase
 discard 091e44d  Reverts TINKERPOP-2289 resolve ip address
 discard d4c8669  TINKERPOP-2076 Fixed Gremlin Server integration tests after Java 11
 discard cd77100  TINKERPOP-2076 Fixed failing GraphComputer test after Java 11 upgrade
 discard 8e0a847  TINKERPOP-2076 Made expectations around mock more explicit
 discard 27268e2  TINKERPOP-2076 Bumped Hadoop to 2.7.7
 discard 015ccf0  TINKERPOP-2076 Initial effort to get TinkerPop building on Java 11
     add 00c15c0  fix unit test failure in non-English environment
     add 8852f4d  Merge branch 'tp34'
     add 8367eef  Added elementMap() throughout most of docs
     add 19763a2  Merge branch 'tp34'
     add 5205388  Kill dependabot with deadly config!!!
     add 2d0e9e0  Some minor LICENSE/NOTICE cleanup that was missed at some point CTR
     add 359a241  Merge branch 'tp34'
     add 6c7df78  Reduce the number of warmup rounds in benchmarks
     add f49c96e  Merge branch 'tp33' into tp34
     add 8fa2045  Merge branch 'tp34'
     add b5b48a4  Reverts TINKERPOP-2289 resolve ip address
     add 25e5087  Merge remote-tracking branch 'origin/revert_tinkerpop-2289' into tp33
     add f831fd1  Merge branch 'tp33' into tp34
     add cc0d3ce  Merge branch 'tp34'
     add 3410bb0  Bump to gmavenplus plugin 1.8.1 CTR
     add bc9158c  Merge branch 'tp33' into tp34
     add f4de1d5  Merge branch 'tp34'
     add 2d0fd64  Bump to Jackson databind 2.9.10.1 CTR
     add 20a5093  Merge branch 'tp33' into tp34
     add ef9dff9  Merge branch 'tp34'
     add 1e06e30  TINKERPOP-2311 Implemented Iterable on TraversalStrategies
     add a53b44f  TINKERPOP-2310 Traversal requires EmptyStep to be root level
     add 82dd208  Merge pull request #1216 from apache/TINKERPOP-2311
     add 050f66a  Pretty big javadoc cleanup.
     add c7461d7  Merge branch 'tp33' into tp34
     add 75e3acc  Javadoc fixes
     add be4defb  Merge branch 'tp34'
     add fd0ecd6  A body of commits to debug/fix a failing travis test
     add f4e1df5  Increase default max wait time for a connection with java driver
     add a75cfb6  Move SSL tests to their own test class
     add adebb32  Break up server/console test builds for travis
     add 91a25a7  Merge branch 'tp34'
     add 035afd1  TINKERPOP-2314 Employ by(String) for Map when possible
     add 057cd3b  Merge branch 'tp34'
     add 65eda6b  Bumped docker build to use xenial
     add 6610e7b  Merge branch 'tp33' into tp34
     add 7e96133  Merge branch 'tp34'
     add 0ab7a52  TINKERPOP-2235 Allow null to work within Gremlin
     add 381d1e5  TINKERPOP-2235 Fix C# gherkin test harness
     add 5824b53  TINKERPOP-2235 Fixed null handling in .NET
     add 1f7d34e  TINKERPOP-2235 Added tests and Graph level null support
     add a2fce50  TINKERPOP-2235 Exposed the configuration option for null as a feature
     add 86c0db8  TINKERPOP-2235 Added upgrade and reference docs
     add f94956a  TINKERPOP-2235 Cleanup comments/javadoc a bit for MapStep
     add 46a4cef  TINKERPOP-2235 Expand imports to match code style
     add 98e722b  TINKERPOP-2235 Improved upgrade docs for null handling
     add f80990b  TINKERPOP-2235 Adjusted semantics of null a bit for Graph
     add 8ff4322  TINKERPOP-2235 Minor refactoring to get rid of duplicate code
     add ba454fd  TINKERPOP-2235 Improve map checks for null
     add 5901ddf  TINKERPOP-2235 Allow for nulls in Path toString()
     add 4e688ca  TINKERPOP-2235 Be smarter about null in SelectOneStep
     add f5e937b  TINKERPOP-2235 Removed some uneccessary code
     add c102bc3  TINKERPOP-2235 Fixed ImmutablePath again
     add 4ef74c3  TINKERPOP-2235 Major refactoring and introduction of ScalarMapStep
     add b15437c  TINKERPOP-2235 Refactored Scoping interface
     add 185a32d  TINKERPOP-2235 Ensured null defaults to default vertex label for all overloads of addV()
     add b5c033e  TINKERPOP-2235 More consistent null handling for vertex mutations
     add 446d92c  TINKERPOP-2235 Ensured addE(null) behaved consistently.
     add d2be888  TINKERPOP-2235 Consistent behavior for multi/meta properties and null
     add db3933f  TINKERPOP-2235 Fixed up label overrides for property(label,Object)
     add 05ebdc8  Merge pull request #1214 from apache/TINKERPOP-2235
     new 568c83e  TINKERPOP-2076 Initial effort to get TinkerPop building on Java 11
     new 4f40e47  TINKERPOP-2076 Bumped Hadoop to 2.7.7
     new 96b6291  TINKERPOP-2076 Made expectations around mock more explicit
     new b2598c4  TINKERPOP-2076 Fixed failing GraphComputer test after Java 11 upgrade
     new bb0a166  TINKERPOP-2076 Fixed Gremlin Server integration tests after Java 11
     new 2f3a3bb  TINKERPOP-2076 Fixed mockito usage after rebase
     new b454065  TINKERPOP-2076 Bump to spark 3.0 with jdk11 support
     new 232dc21  TINKERPOP-2076 Removed a scala class registration from gryo
     new 6192165  TINKERPOP-2076 Fixed bad merge operation in the MemoryAccumulator
     new 6343843  TINKERPOP-2076 Minor adjustments to gryo registrations to get spark integration tests passing
     new a1021b2  TINKERPOP-2076 Made docker build compatible with jdk11
     new b208546  TINKERPOP-2076 Cleaned up references to "java 8"
     new 08e57a4  TINKERPOP-2076 More Java 11 documentation updates
     new feadad2  TINKERPOP-2076 Enforce java 11 with enforcer plugin
     new ae5655f  TINKERPOP-2076 Re-enabled javadoc for gremlin-groovy
     new 0c3acaa  TINKERPOP-2076 Use bionic for testing with travis and bump to jdk11
     new d66cc03  TINKERPOP-2076 Registered scala.reflect.ManifestFactory$AnyManifest with gryo
     new cd784c1  TINKERPOP-2076 Polished up benchmarking dependencies
     new 469d5fe  updated user-facing docker base images to adoptopenjdk/openjdk11:alpine-slim

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   (36306a2)
            \
             N -- N -- N   refs/heads/TINKERPOP-2076 (469d5fe)

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 19 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:
 .dependabot/config.yml                             |  10 +
 .travis.yml                                        |  10 +-
 CHANGELOG.asciidoc                                 |  11 +
 docker/Dockerfile                                  |   7 +-
 .../gremlin-server-integration-secure.yaml         |   1 +
 .../gremlin-server/gremlin-server-integration.yaml |   1 +
 docs/src/recipes/anti-patterns.asciidoc            |  19 +-
 docs/src/recipes/appendix.asciidoc                 |  24 +-
 docs/src/recipes/centrality.asciidoc               |   2 +-
 docs/src/recipes/collections.asciidoc              |  10 +-
 docs/src/recipes/duplicate-edge.asciidoc           |   6 +-
 docs/src/recipes/edge-move.asciidoc                |   4 +-
 docs/src/recipes/traversal-induced-values.asciidoc |   8 +-
 docs/src/reference/gremlin-applications.asciidoc   |   8 +-
 docs/src/reference/gremlin-variants.asciidoc       |  10 +-
 .../reference/implementations-tinkergraph.asciidoc |   1 +
 docs/src/reference/the-graphcomputer.asciidoc      |  14 +-
 docs/src/reference/the-traversal.asciidoc          |  28 +-
 docs/src/upgrade/release-3.4.x.asciidoc            |  66 +++++
 docs/src/upgrade/release-3.5.x.asciidoc            | 304 ++++++++++++++++++++-
 .../GephiTraversalVisualizationStrategy.groovy     |   2 +-
 gremlin-console/src/main/static/LICENSE            |   2 +-
 gremlin-console/src/main/static/NOTICE             |  12 +
 .../tinkerpop/gremlin/jsr223/JavaTranslator.java   |  29 +-
 .../gremlin/process/computer/ComputerResult.java   |   5 +-
 .../gremlin/process/computer/GraphComputer.java    |  49 ++--
 .../gremlin/process/computer/MapReduce.java        |  13 +-
 .../gremlin/process/computer/VertexProgram.java    |   6 +-
 .../computer/traversal/TraversalVertexProgram.java |   2 +-
 .../computer/traversal/step/VertexComputing.java   |   5 +-
 .../step/map/TraversalVertexProgramStep.java       |   2 +-
 .../strategy/decoration/VertexProgramStrategy.java |   4 +-
 .../computer/util/DefaultComputerResult.java       |   6 +-
 .../remote/traversal/AbstractRemoteTraversal.java  |   4 +-
 .../process/remote/traversal/RemoteTraversal.java  |   2 +-
 .../gremlin/process/traversal/Bindings.java        |   5 +-
 .../gremlin/process/traversal/Compare.java         |   2 +-
 .../tinkerpop/gremlin/process/traversal/Order.java |   8 +-
 .../tinkerpop/gremlin/process/traversal/Step.java  |   9 +-
 .../gremlin/process/traversal/Traversal.java       |  28 +-
 .../process/traversal/TraversalSideEffects.java    |  10 +-
 .../gremlin/process/traversal/TraversalSource.java |  24 +-
 .../process/traversal/TraversalStrategies.java     |  17 +-
 .../gremlin/process/traversal/Traverser.java       |   9 +-
 .../traversal/dsl/graph/GraphTraversal.java        |  19 +-
 .../traversal/dsl/graph/GraphTraversalSource.java  |   6 +-
 .../traversal/lambda/ElementValueTraversal.java    |  24 +-
 .../gremlin/process/traversal/step/Barrier.java    |  10 +-
 .../gremlin/process/traversal/step/Bypassing.java  |   4 +-
 .../process/traversal/step/FromToModulating.java   |   5 +-
 .../process/traversal/step/GraphComputing.java     |   8 +-
 .../process/traversal/step/LambdaHolder.java       |   7 +-
 .../process/traversal/step/MemoryComputing.java    |   4 +-
 .../gremlin/process/traversal/step/Scoping.java    |  88 ++++--
 .../traversal/step/filter/DedupGlobalStep.java     |   4 +-
 .../traversal/step/filter/WherePredicateStep.java  |   4 +-
 .../traversal/step/filter/WhereTraversalStep.java  |   8 +-
 .../process/traversal/step/map/AddEdgeStep.java    |   2 +-
 .../traversal/step/map/AddVertexStartStep.java     |  17 +-
 .../process/traversal/step/map/AddVertexStep.java  |  19 +-
 .../process/traversal/step/map/ConstantStep.java   |   2 +-
 .../process/traversal/step/map/CountLocalStep.java |   2 +-
 .../process/traversal/step/map/DedupLocalStep.java |   2 +-
 .../traversal/step/map/EdgeOtherVertexStep.java    |   2 +-
 .../process/traversal/step/map/ElementMapStep.java |   2 +-
 .../process/traversal/step/map/GroupStep.java      |   4 +-
 .../gremlin/process/traversal/step/map/IdStep.java |   2 +-
 .../process/traversal/step/map/IndexStep.java      |   2 +-
 .../process/traversal/step/map/LabelStep.java      |   2 +-
 .../process/traversal/step/map/LambdaMapStep.java  |   2 +-
 .../process/traversal/step/map/LoopsStep.java      |   2 +-
 .../process/traversal/step/map/MapStep.java        |  15 +-
 .../process/traversal/step/map/MathStep.java       |   2 +-
 .../process/traversal/step/map/MaxLocalStep.java   |   2 +-
 .../process/traversal/step/map/MeanLocalStep.java  |   2 +-
 .../process/traversal/step/map/MinLocalStep.java   |   2 +-
 .../process/traversal/step/map/OrderLocalStep.java |   2 +-
 .../process/traversal/step/map/PathStep.java       |   2 +-
 .../process/traversal/step/map/ProjectStep.java    |   2 +-
 .../traversal/step/map/PropertyKeyStep.java        |   2 +-
 .../traversal/step/map/PropertyMapStep.java        |   2 +-
 .../traversal/step/map/PropertyValueStep.java      |   2 +-
 .../process/traversal/step/map/RangeLocalStep.java |   2 +-
 .../process/traversal/step/map/SackStep.java       |   2 +-
 .../traversal/step/map/SampleLocalStep.java        |   2 +-
 .../step/map/{MapStep.java => ScalarMapStep.java}  |  13 +-
 .../process/traversal/step/map/SelectOneStep.java  |  27 +-
 .../process/traversal/step/map/SelectStep.java     |  29 +-
 .../process/traversal/step/map/SumLocalStep.java   |   2 +-
 .../process/traversal/step/map/TailLocalStep.java  |   2 +-
 .../traversal/step/map/TraversalMapStep.java       |   8 +-
 .../traversal/step/map/TraversalSelectStep.java    |  58 ++--
 .../process/traversal/step/util/AbstractStep.java  |  19 +-
 .../process/traversal/step/util/ImmutablePath.java |   8 +-
 .../process/traversal/step/util/Parameters.java    |  11 +
 .../process/traversal/step/util/WithOptions.java   |  18 +-
 .../step/util/event/MutationListener.java          |   8 +-
 .../strategy/decoration/EventStrategy.java         |   2 +-
 .../strategy/decoration/RequirementsStrategy.java  |   2 +-
 .../strategy/decoration/SideEffectStrategy.java    |   2 +-
 .../finalization/ReferenceElementStrategy.java     |   4 +-
 .../verification/StandardVerificationStrategy.java |   4 +-
 .../traversal/traverser/B_O_S_SE_SL_Traverser.java |   2 +-
 .../traverser/util/AbstractTraverser.java          |   7 +-
 .../traversal/traverser/util/EmptyTraverser.java   |   9 +-
 .../process/traversal/util/DefaultTraversal.java   |   8 +-
 .../traversal/util/DefaultTraversalStrategies.java |   2 +-
 .../traversal/util/EmptyTraversalStrategies.java   |   2 +-
 .../traversal/util/FastNoSuchElementException.java |   4 +-
 .../traversal/util/TraversalExplanation.java       |   2 +-
 .../process/traversal/util/TraversalHelper.java    |   2 +-
 .../process/traversal/util/TraversalMatrix.java    |   4 +-
 .../apache/tinkerpop/gremlin/structure/Column.java |   3 +-
 .../apache/tinkerpop/gremlin/structure/Graph.java  |  39 ++-
 .../tinkerpop/gremlin/structure/Property.java      |   8 +-
 .../gremlin/structure/VertexProperty.java          |   2 +-
 .../gremlin/structure/io/GraphMigrator.java        |   2 +-
 .../tinkerpop/gremlin/structure/io/IoCore.java     |   6 +-
 .../structure/io/graphml/GraphMLWriter.java        |   2 +-
 .../structure/io/graphson/GraphSONReader.java      |   5 +-
 .../io/gryo/VertexByteArrayInputStream.java        |   4 +-
 .../structure/io/gryo/kryoshim/InputShim.java      |   5 +-
 .../structure/io/gryo/kryoshim/KryoShim.java       |   5 +-
 .../structure/io/gryo/kryoshim/OutputShim.java     |   5 +-
 .../structure/io/gryo/kryoshim/SerializerShim.java |   5 +-
 .../gremlin/structure/util/ElementHelper.java      |  89 +++---
 .../gremlin/structure/util/GraphFactory.java       |  15 +-
 .../gremlin/structure/util/StringFactory.java      |  11 +-
 .../util/star/StarGraphGraphSONDeserializer.java   |   8 +-
 .../gremlin/util/function/TriConsumer.java         |   2 +-
 .../gremlin/process/TraversalStrategiesTest.java   |  17 +-
 .../gremlin/process/traversal/OrderTest.java       |   4 +
 .../lambda/ElementValueTraversalTest.java          |  78 ++++++
 .../traversal/step/map/AddVertexStepTest.java      |  48 ++++
 .../traversal/step/util/ParametersTest.java        |  16 ++
 .../util/EmptyTraverserTest.java}                  |  17 +-
 .../gremlin/structure/util/ElementHelperTest.java  |  58 ++--
 .../gremlin/util/iterator/ArrayIteratorTest.java   |  16 ++
 .../src/Gremlin.Net/Process/Traversal/Bytecode.cs  |   6 +
 .../Gremlin.Net/Process/Traversal/Instruction.cs   |  11 +
 .../Structure/IO/GraphSON/GraphSONWriter.cs        |  18 +-
 .../Gherkin/CommonSteps.cs                         |   4 +-
 .../TraversalEvaluation/LiteralParameter.cs        |  11 +-
 .../Gherkin/TraversalEvaluation/TraversalParser.cs |  26 +-
 .../Structure/IO/GraphSON/GraphSONReaderTests.cs   |   9 +-
 .../Structure/IO/GraphSON/GraphSONWriterTests.cs   |   4 +-
 .../apache/tinkerpop/gremlin/driver/Client.java    |   6 +-
 .../tinkerpop/gremlin/driver/Connection.java       |   2 +-
 .../driver/ser/AbstractMessageSerializer.java      |   7 +-
 .../ser/GraphSONMessageSerializerGremlinV2d0.java  |   3 +-
 .../driver/ser/GraphSONMessageSerializerV3d0.java  |   3 +-
 .../GraphBinaryReaderWriterRoundTripTest.java      |   2 +-
 .../gremlin/groovy/engine/GremlinExecutor.java     |  13 +-
 .../groovy/jsr223/GroovyTranslatorProvider.java    |   4 -
 .../ParameterizedGroovyTranslatorProvider.java     |   4 -
 .../test/cucumber/feature-steps.js                 |  10 +-
 .../gremlin-javascript/test/unit/graphson-test.js  |   5 +
 .../gremlin_python/structure/io/graphbinaryV1.py   |   4 +
 .../src/main/jython/radish/feature_steps.py        |   6 +-
 .../tests/structure/io/test_graphbinaryV1.py       |   9 +
 .../jython/tests/structure/io/test_graphsonV2d0.py |   4 +
 .../jython/tests/structure/io/test_graphsonV3d0.py |   4 +
 .../gremlin/server/AbstractChannelizer.java        |   6 +-
 .../apache/tinkerpop/gremlin/server/Context.java   |   3 +-
 .../tinkerpop/gremlin/server/GremlinServer.java    |   2 +-
 .../gremlin/server/channel/NioChannelizer.java     |   4 +-
 .../server/channel/WebSocketChannelizer.java       |   4 +-
 .../gremlin/server/op/AbstractEvalOpProcessor.java |   3 +-
 .../gremlin/server/op/session/Session.java         |   8 +-
 .../server/op/session/SessionOpProcessor.java      |   7 +-
 .../server/op/standard/StandardOpProcessor.java    |   2 +-
 gremlin-server/src/main/static/LICENSE             |   2 +-
 gremlin-server/src/main/static/NOTICE              |  12 +
 .../GraphBinaryRemoteGraphComputerProvider.java    |   6 +-
 .../GraphSONRemoteGraphComputerProvider.java       |   6 +-
 .../remote/GryoRemoteGraphComputerProvider.java    |   6 +-
 ...emoteGraphGroovyTranslatorComputerProvider.java |   6 +-
 .../gremlin/server/GremlinServerIntegrateTest.java | 246 +----------------
 .../server/GremlinServerSessionIntegrateTest.java  |  46 ++--
 .../server/GremlinServerSslIntegrateTest.java      | 266 ++++++++++++++++++
 .../gremlin/server/gremlin-server-integration.yaml |   1 +
 gremlin-shaded/pom.xml                             |   2 +-
 gremlin-test/features/map/AddEdge.feature          |  25 ++
 gremlin-test/features/map/AddVertex.feature        |  44 +++
 gremlin-test/features/map/Constant.feature         |  17 +-
 gremlin-test/features/map/Map.feature              |  16 ++
 gremlin-test/features/map/Project.feature          |  18 +-
 gremlin-test/features/sideEffect/Inject.feature    |  39 +++
 .../tinkerpop/gremlin/AbstractGraphProvider.java   |   2 +-
 .../tinkerpop/gremlin/AbstractGremlinSuite.java    |  13 +-
 .../tinkerpop/gremlin/FeatureRequirementSet.java   |   3 +-
 .../org/apache/tinkerpop/gremlin/GraphHelper.java  |   2 +-
 .../apache/tinkerpop/gremlin/GraphProvider.java    |   9 +-
 .../apache/tinkerpop/gremlin/LoadGraphWith.java    |   3 +-
 .../algorithm/generator/AbstractGenerator.java     |   6 +-
 .../process/AbstractGremlinProcessTest.java        |   5 +-
 .../process/traversal/CoreTraversalTest.java       |  51 +++-
 .../process/traversal/step/map/AddEdgeTest.java    |  18 ++
 .../process/traversal/step/map/AddVertexTest.java  |  60 +++-
 .../process/traversal/step/map/ConstantTest.java   |  15 +-
 .../process/traversal/step/map/MapTest.java        |  22 ++
 .../process/traversal/step/map/ProfileTest.java    |  11 +-
 .../process/traversal/step/map/ProjectTest.java    |  22 ++
 .../traversal/step/sideEffect/InjectTest.java      |  53 ++++
 .../strategy/decoration/TranslationStrategy.java   |   4 +-
 .../EarlyLimitStrategyProcessTest.java             |   2 +-
 .../gremlin/structure/FeatureSupportTest.java      |  22 +-
 .../gremlin/structure/GraphConstructionTest.java   |   6 +-
 .../tinkerpop/gremlin/structure/GraphTest.java     |   2 +-
 .../tinkerpop/gremlin/structure/PropertyTest.java  |  77 +++++-
 .../tinkerpop/gremlin/structure/VariablesTest.java |  19 +-
 .../gremlin/structure/VertexPropertyTest.java      |  92 ++++++-
 .../benchmark/util/AbstractBenchmarkBase.java      |   2 +-
 .../gremlin/process/GraphMutateBenchmark.java      |   5 +-
 .../gremlin/process/GraphTraversalBenchmark.java   |   4 +-
 .../apache/tinkerpop/gremlin/hadoop/Constants.java |   4 +-
 .../hadoop/structure/io/GraphFilterAware.java      |   9 +-
 .../structure/io/script/ScriptInputFormat.java     |   6 +-
 .../structure/io/script/ScriptOutputFormat.java    |   8 +-
 .../gremlin/neo4j/structure/Neo4jEdge.java         |   6 +
 .../gremlin/neo4j/structure/Neo4jGraph.java        |  12 +-
 .../gremlin/neo4j/structure/Neo4jVertex.java       |   6 +
 pom.xml                                            |   1 +
 .../interceptor/SparkStarBarrierInterceptor.java   |   2 +-
 .../gremlin/spark/structure/io/InputRDD.java       |   8 +-
 .../gremlin/spark/structure/io/OutputRDD.java      |   8 +-
 .../optimization/SparkInterceptorStrategyTest.java |   8 +-
 .../SparkSingleIterationStrategyTest.java          |  12 +-
 .../gremlin/tinkergraph/structure/TinkerEdge.java  |   8 +
 .../gremlin/tinkergraph/structure/TinkerGraph.java |  25 +-
 .../gremlin/tinkergraph/structure/TinkerIndex.java |  48 +++-
 .../structure/TinkerIoRegistryV2d0.java            |   8 +-
 .../structure/TinkerIoRegistryV3d0.java            |   4 +-
 .../tinkergraph/structure/TinkerProperty.java      |   5 +-
 .../tinkergraph/structure/TinkerVertex.java        |  12 +
 .../structure/TinkerVertexProperty.java            |  22 +-
 .../strategy/decoration/OptionsStrategyTest.java   |   4 +-
 .../tinkergraph/structure/TinkerGraphTest.java     |   1 -
 ...tractTinkerGraphGraphSONTranslatorProvider.java |   4 -
 .../io/gryo/TinkerGraphGryoTranslatorProvider.java |   4 -
 240 files changed, 2537 insertions(+), 1022 deletions(-)
 create mode 100644 .dependabot/config.yml
 copy gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/{MapStep.java => ScalarMapStep.java} (73%)
 create mode 100644 gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/lambda/ElementValueTraversalTest.java
 create mode 100644 gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddVertexStepTest.java
 copy gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/{ScopeTest.java => traverser/util/EmptyTraverserTest.java} (70%)
 create mode 100644 gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerSslIntegrateTest.java


[tinkerpop] 13/19: 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 08e57a40938c55d3e373b7cbadc17628e86fd72d
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 ff8bd8d..771c4f7 100644
--- a/docs/src/dev/developer/development-environment.asciidoc
+++ b/docs/src/dev/developer/development-environment.asciidoc
@@ -24,8 +24,8 @@ configure a development environment for TinkerPop.
 [[system-configuration]]
 == System Configuration
 
-At a minimum, development of TinkerPop requires link:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html[Java 1.8.0_40+]
-and link:https://maven.apache.org/download.cgi[Maven 3.2.5+]. Maven is used as the common build system, which even
+At a minimum, development of TinkerPop requires link:https://openjdk.java.net/projects/jdk/11/[Java 11]
+and link:https://maven.apache.org/download.cgi[Maven 3.3.9+]. Maven is used as the common build system, which even
 controls the builds of non-JVM link:http://tinkerpop.apache.org/docs/current/tutorials/gremlin-language-variants/[GLVs]
 such as `gremlin-python`. Java and Maven are described as a "minimum" for a development environment, because they
 will only build JVM portions of TinkerPop and many integration tests will not fire with this simple setup. It is
diff --git a/docs/src/upgrade/release-3.5.x.asciidoc b/docs/src/upgrade/release-3.5.x.asciidoc
index ebe5456..60c3cdc 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] 18/19: 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 cd784c1a4a097d1e51d61a2b2599f7e7787cd4a4
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] 02/19: 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 4f40e4743cb66ca32b85dd66d7384b8fbdcc4062
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 061fd7d..d779e62 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -706,6 +706,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 b16a6b0..463f5df 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] 17/19: 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 d66cc0324fe7904488ca182ed19c34c23dca75ce
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/19: 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 b45406594f6e183d11685722cc4da1aded7871df
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 d779e62..94d7424 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -40,7 +40,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.
-* Upgraded to Neo4j 3.4.11.
+* Bumped to Neo4j 3.4.11.
+* Bumped to Spark 3.0.0.
 * Added a parameterized `TypeTranslator` for use with `GroovyTranslator` that should produce more cache hits.
 * Added support for `TextP` in Neo4j using its string search functions.
 * Changed `TraversalStrategy` application methodology to apply each strategy in turn to each level of the traversal hierarchy starting from root down to children.
diff --git a/gremlin-groovy/pom.xml b/gremlin-groovy/pom.xml
index c4373b4..b890a99 100644
--- a/gremlin-groovy/pom.xml
+++ b/gremlin-groovy/pom.xml
@@ -34,7 +34,7 @@ limitations under the License.
         <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 463f5df..8b6e64c 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] 15/19: 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 ae5655fadf4ce5ba170de40787591664854f2eec
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] 05/19: 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 bb0a16635d9571a9574661e8c5549650c10b7d06
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 6a289fe..05dda72 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
@@ -489,7 +489,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
@@ -924,12 +924,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();
     }
@@ -958,12 +957,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] 12/19: 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 b2085461679571c431012c8460bbc9c3a4659604
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 94d7424..fa5c0d8 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -42,6 +42,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 eba92cb..ca01618 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="http://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="http://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="http://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 f835190..9ae3fcf 100644
--- a/docs/src/dev/developer/for-committers.asciidoc
+++ b/docs/src/dev/developer/for-committers.asciidoc
@@ -226,7 +226,7 @@ When writing a Java test case for a Gremlin step, be sure to use the following c
 ** `get_g_V_groupCount_byXnameX()`
 ** `get_g_V_groupCountXaX_byXnameX_capXaX()`
 * The name of the actual test case should be the name of the traversal generator minus the `get_` prefix.
-* The Gremlin-Groovy version of the test should use the sugar syntax in order to test sugar (as Gremlin-Java8 tests test standard syntax).
+* The Gremlin-Groovy version of the test should use the sugar syntax in order to test sugar (as Gremlin-Java tests test standard syntax).
 ** `g.V.age.sum`
 * Avoid using lambdas in the test case unless that is explicitly what is being tested as OLAP systems will typically not be able to execute those tests.
 * `AbstractGremlinProcessTest` has various static methods to make writing a test case easy.
diff --git a/docs/src/dev/provider/index.asciidoc b/docs/src/dev/provider/index.asciidoc
index 91beaf1..33263d3 100644
--- a/docs/src/dev/provider/index.asciidoc
+++ b/docs/src/dev/provider/index.asciidoc
@@ -39,7 +39,7 @@ This document attempts to address the needs of the different providers that have
 [[graph-system-provider-requirements]]
 == Graph System Provider Requirements
 
-image:tinkerpop-enabled.png[width=140,float=left] At the core of TinkerPop 3.x is a Java8 API. The implementation of this
+image:tinkerpop-enabled.png[width=140,float=left] At the core of TinkerPop 3.x is a Java API. The implementation of this
 core API 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 6888f33..605fb06 100644
--- a/docs/src/reference/gremlin-applications.asciidoc
+++ b/docs/src/reference/gremlin-applications.asciidoc
@@ -2319,7 +2319,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 e919bd4..8f6f8af 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] 14/19: 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 feadad25e8fa610956b9d73631e9a3be298b2d9b
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 8b6e64c..ed6cf1b 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] 16/19: 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 0c3acaab8978056d59a72211a1e467490367b38f
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 89a230f..aba58f1 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -2,9 +2,9 @@ language: java
 os:
   - linux
 jdk:
-  - openjdk8
+  - openjdk11
 sudo: required
-dist: xenial
+dist: bionic
 services:
   - docker
 cache:


[tinkerpop] 19/19: 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 469d5fe6d28493600a155604db469962c63102c9
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] 09/19: 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 61921652d193ae80724d0dcbf3371bf693692b6a
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/19: 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 568c83e8b078e4e58cafda24bfc6fd017b2fdb92
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                                            | 33 ++++++++++++---------
 11 files changed, 113 insertions(+), 19 deletions(-)

diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 234e1b5..061fd7d 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -705,6 +705,7 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 * Bumped `httpclient` to 4.5.7.
 * Bumped `slf4j` to 1.7.25.
 * Bumped `commons-codec` to 1.12.
+* Bumped to Groovy 2.5.6.
 * Fixed partial response failures when using authentication in `gremlin-python`.
 * Fixed concurrency issues in `TraverserSet.toString()` and `ObjectWritable.toString()`.
 * Fixed a bug in `InlineFilterStrategy` that mixed up and's and or's when folding merging conditions together.
diff --git a/gremlin-console/src/main/groovy/org/apache/tinkerpop/gremlin/console/Console.groovy b/gremlin-console/src/main/groovy/org/apache/tinkerpop/gremlin/console/Console.groovy
index d5b9b62..3f5e53c 100644
--- a/gremlin-console/src/main/groovy/org/apache/tinkerpop/gremlin/console/Console.groovy
+++ b/gremlin-console/src/main/groovy/org/apache/tinkerpop/gremlin/console/Console.groovy
@@ -47,6 +47,7 @@ import org.codehaus.groovy.tools.shell.IO
 import org.codehaus.groovy.tools.shell.InteractiveShellRunner
 import org.codehaus.groovy.tools.shell.commands.SetCommand
 import org.fusesource.jansi.Ansi
+import picocli.CommandLine
 import sun.misc.Signal
 import sun.misc.SignalHandler
 
diff --git a/gremlin-core/pom.xml b/gremlin-core/pom.xml
index 5753390..0c82d3a 100644
--- a/gremlin-core/pom.xml
+++ b/gremlin-core/pom.xml
@@ -115,7 +115,36 @@ limitations under the License.
         <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 2393eba..f708159 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
@@ -41,6 +41,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 74bea4b..b16a6b0 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>
@@ -445,10 +447,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>
@@ -462,9 +463,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>
@@ -487,7 +489,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>
@@ -530,7 +533,7 @@ limitations under the License.
                     <artifactId>gmavenplus-plugin</artifactId>
                     <version>1.7.1</version>
                     <configuration>
-                        <targetBytecode>1.8</targetBytecode>
+                        <targetBytecode>11</targetBytecode>
                         <invokeDynamic>true</invokeDynamic>
                     </configuration>
                 </plugin>
@@ -710,7 +713,7 @@ limitations under the License.
             <dependency>
                 <groupId>org.mockito</groupId>
                 <artifactId>mockito-core</artifactId>
-                <version>1.10.19</version>
+                <version>2.24.5</version>
                 <exclusions>
                     <exclusion>
                         <groupId>org.hamcrest</groupId>
@@ -1202,12 +1205,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>
@@ -1219,7 +1226,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>


[tinkerpop] 11/19: 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 a1021b2089be3378bc6078140b02461ed2bef78a
Author: stephen <sp...@gmail.com>
AuthorDate: Tue Nov 12 07:35:05 2019 -0500

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

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


[tinkerpop] 03/19: 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 96b6291886f7bfee6eb417eaa9f8ac7c60a9376d
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.
---
 .../tinkerpop/gremlin/server/op/AbstractEvalOpProcessorTest.java   | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

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


[tinkerpop] 08/19: 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 232dc2163ed8f5ca972934c341bcf1ad0c90dbbd
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] 06/19: TINKERPOP-2076 Fixed mockito usage 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 2f3a3bbf2622ae1006fefb7a6f12ef6571acd1ba
Author: stephen <sp...@gmail.com>
AuthorDate: Mon Nov 11 21:06:30 2019 -0500

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

diff --git a/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ser/binary/GraphBinaryMessageSerializerV1Test.java b/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ser/binary/GraphBinaryMessageSerializerV1Test.java
index d0042ff..45a6a13 100644
--- a/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ser/binary/GraphBinaryMessageSerializerV1Test.java
+++ b/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ser/binary/GraphBinaryMessageSerializerV1Test.java
@@ -35,6 +35,7 @@ import java.util.Map;
 import java.util.UUID;
 import java.util.concurrent.atomic.AtomicInteger;
 
+import static org.hamcrest.core.Is.is;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertThat;
 
@@ -54,7 +55,7 @@ public class GraphBinaryMessageSerializerV1Test {
         final int mimeLen = buffer.readByte();
         buffer.readBytes(new byte[mimeLen]);
         final RequestMessage deserialized = serializer.deserializeRequest(buffer);
-        assertThat(request, new ReflectionEquals(deserialized));
+        assertThat(new ReflectionEquals(deserialized).matches(request), is(true));
     }
 
     @Test
@@ -68,7 +69,7 @@ public class GraphBinaryMessageSerializerV1Test {
         final int mimeLen = buffer.readByte();
         buffer.readBytes(new byte[mimeLen]);
         final RequestMessage deserialized = serializer.deserializeRequest(buffer);
-        assertThat(request, new ReflectionEquals(deserialized));
+        assertThat(new ReflectionEquals(deserialized).matches(request), is(true));
     }
 
     @Test
@@ -82,7 +83,7 @@ public class GraphBinaryMessageSerializerV1Test {
         final int mimeLen = buffer.readByte();
         buffer.readBytes(new byte[mimeLen]);
         final RequestMessage deserialized = serializer.deserializeRequest(buffer);
-        assertThat(request, new ReflectionEquals(deserialized));
+        assertThat(new ReflectionEquals(deserialized).matches(request), is(true));
     }
 
     @Test
diff --git a/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ser/binary/GraphBinaryReaderWriterRoundTripTest.java b/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ser/binary/GraphBinaryReaderWriterRoundTripTest.java
index ea7254d..d6aa701 100644
--- a/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ser/binary/GraphBinaryReaderWriterRoundTripTest.java
+++ b/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ser/binary/GraphBinaryReaderWriterRoundTripTest.java
@@ -87,6 +87,7 @@ import java.util.concurrent.TimeUnit;
 import java.util.function.Consumer;
 
 import static org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.hasLabel;
+import static org.hamcrest.core.Is.is;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertThat;
 
@@ -265,19 +266,19 @@ public class GraphBinaryReaderWriterRoundTripTest {
                 new Object[] {"BulkSet", bulkSet, null},
                 new Object[] {"Tree", tree, null},
                 new Object[] {"EmptyMetrics", new MutableMetrics("idEmpty", "nameEmpty"), (Consumer<Metrics>) m -> {
-                    assertThat(m, new ReflectionEquals(new MutableMetrics("idEmpty", "nameEmpty")));
+                    assertThat(new ReflectionEquals(new MutableMetrics("idEmpty", "nameEmpty")).matches(m), is(true));
                 }},
                 new Object[] {"Metrics", metrics, (Consumer<Metrics>) m -> {
-                    assertThat(m, new ReflectionEquals(metrics, "nested", "counts"));
+                    assertThat(new ReflectionEquals(metrics, "nested", "counts").matches(m), is(true));
                     assertEquals(new ArrayList(metrics.getCounts().values()), new ArrayList(m.getCounts().values()));
-                    assertThat(m.getNested(), new ReflectionEquals(metrics.getNested()));
+                    assertThat(new ReflectionEquals(metrics.getNested()).matches(m.getNested()), is(true));
                 }},
                 new Object[] {"EmptyTraversalMetrics", emptyTraversalMetrics, (Consumer<TraversalMetrics>) m -> {
-                    assertThat(m, new ReflectionEquals(emptyTraversalMetrics));
+                    assertThat(new ReflectionEquals(emptyTraversalMetrics).matches(m), is(true));
                 }},
                 new Object[] {"TraversalMetrics", traversalMetrics, (Consumer<TraversalMetrics>) m -> {
                     assertEquals(m.toString(), traversalMetrics.toString());
-                    assertThat(m, new ReflectionEquals(traversalMetrics, "stepIndexedMetrics", "positionIndexedMetrics"));
+                    assertThat(new ReflectionEquals(traversalMetrics, "stepIndexedMetrics", "positionIndexedMetrics").matches(m), is(true));
                 }},
 
                 // collections
diff --git a/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/sample/SamplePersonSerializerTest.java b/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/sample/SamplePersonSerializerTest.java
index 3d6bef3..1db2bf7 100644
--- a/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/sample/SamplePersonSerializerTest.java
+++ b/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/sample/SamplePersonSerializerTest.java
@@ -43,6 +43,7 @@ import java.util.UUID;
 
 import static org.apache.tinkerpop.gremlin.driver.ser.AbstractMessageSerializer.TOKEN_IO_REGISTRIES;
 import static org.apache.tinkerpop.gremlin.driver.ser.GraphBinaryMessageSerializerV1.TOKEN_CUSTOM;
+import static org.hamcrest.core.Is.is;
 import static org.junit.Assert.assertThat;
 
 public class SamplePersonSerializerTest {
@@ -93,7 +94,7 @@ public class SamplePersonSerializerTest {
             writer.writeValue(person, buffer, nullable);
             final SamplePerson actual = reader.readValue(buffer, SamplePerson.class, nullable);
 
-            assertThat(actual, new ReflectionEquals(person));
+            assertThat(new ReflectionEquals(person).matches(actual), is(true));
             buffer.release();
         }
     }
@@ -108,7 +109,7 @@ public class SamplePersonSerializerTest {
         final ResponseMessage deserialized = serializer.deserializeResponse(serialized);
 
         final SamplePerson actual = (SamplePerson) deserialized.getResult().getData();
-        assertThat(actual, new ReflectionEquals(person));
+        assertThat(new ReflectionEquals(person).matches(actual), is(true));
     }
 
     public static class CustomIoRegistry extends AbstractIoRegistry {


[tinkerpop] 04/19: 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 b2598c4cf63aa5033289ae7d0a18c1494e79eb57
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] 10/19: 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 63438430638344b54dda2da85f9c42c66c0be03a
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());