You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by fl...@apache.org on 2020/03/23 16:14:32 UTC

[tinkerpop] branch TINKERPOP-2288 updated (9b774fb -> 242884b)

This is an automated email from the ASF dual-hosted git repository.

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


 discard 9b774fb  TINKERPOP-2288 Replace closed connections directly
     add 0c34261  Bump to 3.5.0-SNAPSHOT
     add 8411aa5  Added 3.5.0 upgrade docs setup CTR
     add 44fd0c2  Add IO tests for 3.5.0 CTR
     add dfbb88c  TINKERPOP-2080 Removed deprecated withRemote() method
     add eb6e401  Added git contributor info to download page CTR
     add 9925aaf  Update syntax of update-current-docs.sh CTR
     add e57d2b4  Merge branch 'tp34'
     add e560c53  Merge branch 'tp34'
     add 66fc4e2  Merge branch 'tp34'
     add a8a004a  Merge branch 'tp34'
     add 2e4abeb  Merge branch 'tp34'
     add f63bed0  Merge branch 'tp34'
     add 7e84948  Merge branch 'tp34'
     add 5a4af6f  Merge branch 'tp34'
     add 6cd2dc4  Merge branch 'tp34'
     add 0fbca3a  Merge branch 'tp34'
     add 7f535a2  Merge branch 'tp34'
     add 6edc834  Merge branch 'tp34'
     add 64f0d84  Merge branch 'tp34'
     add a930909  TINKERPOP-2231 Removed deprecated BulkLoader/DumperVertexProgram
     add ed98a05  Merge pull request #1121 from apache/TINKERPOP-2231
     add 19a26d3  Merge branch 'tp34'
     add 722e424  Merge branch 'tp34'
     add acc9c3c  Add name and logo for 3.5.0 CTR
     add 7628a8e  Merge branch 'tp34'
     add 0b2510e  Merge branch 'tp34'
     add 3aae55d  Merge branch 'tp34'
     add d3ad5de  Added Josh Shinavier as a committer CTR
     add c1b84e7  Merge branch 'tp34'
     add 3930646  Merge branch 'tp34'
     add 614249c  TINKERPOP-2239 Removed previously deprecated SSL configs
     add 71a5a00  Merge pull request #1125 from apache/TINKERPOP-2239
     add d3c4898  Merge branch 'tp34'
     add 0627e29  Merge branch 'tp34'
     add 9eeed66  Merge branch 'tp34'
     add 7b7b59b  TINKERPOP-2099 Consistent behavior of property() in relation to null values
     add 61a1aff  Merge pull request #1123 from apache/TINKERPOP-2099
     add 5547f4e  Merge branch 'tp34'
     add 3b0042e  Merge branch 'tp34'
     add ed9df55  Merge branch 'tp34'
     add 53dfba5  Proposed typo fix and minor grammatical stuff
     add c314cad  Merge pull request #1133 from jon-scho/patch-2
     add 51c95ad  Merge branch 'tp34'
     add aa300b6  Merge branch 'tp34'
     add 87c0527  Merge branch 'tp34'
     add fe4b1c9  Merge branch 'tp34'
     add 347776f  Merge branch 'tp34'
     add 4aca116  Merge branch 'tp34'
     add 01a7b3b  Merge branch 'tp34'
     add 4775819  Merge branch 'tp34'
     add a2fb0a8  Merge branch 'tp34'
     add c328536  Merge branch 'tp34'
     add 7800211  Merge branch 'tp34'
     add 0738286  Merge branch 'tp34'
     add 52884ac  Merge branch 'tp34'
     add 2a64f03  Merge branch 'tp34'
     add 7daba60  Merge branch 'tp34'
     add 80f68fe  Merge branch 'tp34'
     add 2ba1594  Merge branch 'tp34'
     add 44498a7  The tp32 branch is no longer maintained
     add 0b89ec6  Merge branch 'tp34'
     add 19be827  Merge branch 'tp34'
     add b6fd448  Merge branch 'tp34'
     add a030964  Added gremlin-rs (Rust) to provider index CTR
     add 2106549  Moved gremlin-rs to query languages section CTR
     add d79020f  Merge branch 'tp34'
     add a52a8cc  Merge branch 'tp34'
     add 24cd564  Merge branch 'tp34'
     add 75b2ab2  Merge pull request #1145 from BrynCooke/TINKERPOP-2243
     add 6f74db7  Merge branch 'tp34'
     add 4c233a6  Merge branch 'tp34'
     add f7aeac4  Merge branch 'tp34'
     add 3cc807b  Merge branch 'tp34'
     add 534746b  Merge branch 'tp34'
     add 000a474  Merge branch 'tp34'
     add 2fd72bf  Merge branch 'tp34'
     add 5694a17  Merge branch 'tp34'
     add f51e8d5  Merge branch 'tp34'
     add 4f36d85  Merge branch 'tp34'
     add e5adf47  Merge branch 'tp34'
     add 354974a  Merge branch 'tp34'
     add a156d1a  Upgrade to neo4j-tinkerpop-api-impl `0.9-3.4.0`
     add d6b5e3c  Merge pull request #1149 from dwitry/neoApiImpl340
     add 60e08a9  Merge branch 'tp34'
     add 1750593  Merge branch 'tp34'
     add 125385e  Merge branch 'tp34'
     add 8da09c0  Merge branch 'tp34'
     add df91a53  TINKERPOP-2251 Remove deprecated VertexProgram methods.
     add dce3e65  Merge pull request #1151 from apache/TINKERPOP-2251
     add 199c910  Merge branch 'tp34'
     add 64dd7e5  Merge branch 'tp34'
     add 06c5a90  Merge branch 'tp34'
     add c982841  Merge branch 'tp34'
     add 508981c  Merge branch 'tp34'
     add 06601d9  Merge branch 'tp34'
     add 55db28c  Merge branch 'tp34'
     add 607224a  TINKERPOP-2185 Upgrade to commons-configuration2
     add ed0e19e  Merge pull request #1154 from apache/TINKERPOP-2185
     add ae25f89  TINKERPOP-2254 Renamed StoreStep and AggregateStep
     add 4d570f3  Merge pull request #1155 from apache/TINKERPOP-2254
     add 0a30b73  Merge branch 'tp34'
     add 4ec2fbb  Merge branch 'tp34'
     add 54d174a  Merge branch 'tp34'
     add f390a5d  Removed some internal deprecation.
     add b2ff2ff  Merge branch 'tp34'
     add 9ea3664  Merge branch 'tp34'
     add 565a073  Merge branch 'tp34'
     add 16700b2  Merge branch 'tp34'
     add c2d7bd9  Merge branch 'tp34'
     add 8197e29  Merge branch 'tp34'
     add 7ec9eb3  Added Configurations to core imports
     add 52977a8  asciidoc fixes for configuration2 - CTR
     add 588f7d0  Merge branch 'tp34'
     add c7e1962  Fixed conflict dependencies in neo4j after commons-config2 update CTR
     add c5583e8  TINKERPOP-2259 Default java server/driver serialization to GraphBinary
     add 5679954  Merge pull request #1160 from apache/TINKERPOP-2259
     add 90e538a  Merge branch 'tp34'
     add 430c5e1  Merge branch 'tp34'
     add 706aad1  Merge branch 'tp34'
     add d8059a4  Merge branch 'tp34'
     add c698ea6  Merge branch 'tp34'
     add 009053a  Merge branch 'tp34'
     add 51c4e13  TINKERPOP-2233 Removed Order.decr/incr
     add 19ec304  Merge pull request #1164 from apache/TINKERPOP-2233
     add 5ed3f21  Fixed transactional tests in Gremlin Server.
     add a849fd3  Merge branch 'tp34'
     add aee038f  Merge branch 'tp34'
     add ad8d663  Merge branch 'tp34'
     add 86ac0c8  Merge branch 'tp34'
     add 0af88d5  Merge branch 'tp34'
     add 64fce34  Merge branch 'tp34'
     add 7fad4ea  Merge branch 'tp34'
     add 38c94f4  Merge branch 'tp34'
     add 590fc20  Merge branch 'tp34'
     add 57478b8  Merge branch 'tp34'
     add 0ab773a  TINKERPOP-2273 Removed ResponseHandlerContext infrastructure
     add 54873cb  Merge pull request #1170 from apache/TINKERPOP-2273
     add 1adf4f4  Merge branch 'tp34'
     add 2f6b2a7  Merge branch 'tp34'
     add c953360  Set up home page for release 3.4.3/3.3.8
     add c417e0d  implemented index lookup for Text predicates
     add 0d75b1c  resolved wildcard import
     add d0b39a5  TINKERPOP-2133 Add changelog entry
     add 309da74  TINKERPOP-2133 Removed multi/metaproperty support in Neo4j
     add 4685a2e  TINKERPOP-2133 Updated upgrade docs with removed neo4j multi/meta infra
     add a548635  Merge pull request #1173 from apache/TINKERPOP-2133
     add 3fa74a6  Merge branch 'tp34'
     add bf41a5b  Merge branch 'tp34'
     add 0046f96  Merge branch 'tp34'
     add d67c0e6  TINKERPOP-2269 Remove remote side-effect retrieval
     add 3473b1a  Merge pull request #1178 from apache/TINKERPOP-2269
     add 6db4898  Merge branch 'tp34'
     add fcb6af0  Merge branch 'tp34'
     add 0e4f579  Merge branch 'tp34'
     add d04deb8  Merge branch 'tp34'
     add 32bf87e  Merge branch 'tp34'
     add 6229360  Include Grammes in language drivers
     add 3cbe6ea  Merge pull request #1179 from damienfamed75/patch-1
     add 4d0ffaa  Merge branch 'tp34'
     add debd561  Bump commons-beanutils to 1.9.4 for CVE-2019-10086 - CTR
     add 4c577cd  Merge branch 'tp34'
     add 47d4249  Merge branch 'tp34'
     add 9cd6db2  Added greskell to provider index list CTR
     add 5120f2b  Merge branch 'tp34'
     add cb6aeaf  Merge branch 'tp34'
     add c951abe  Merge branch 'tp34'
     add 905c0ba  Merge branch 'tp34'
     add 89fffdb  Fixed example formatting CTR
     add 06f5213  Merge branch 'tp34'
     add 6c8f245  Merge branch 'tp34'
     add 2c71bc2  Merge branch 'tp34'
     add 75b1906  Merge branch 'tp34'
     add 8c467c9  Merge branch 'tp34'
     add 459b1db  Add .asf.yaml file to include github metadata CTR
     add e1d31e8  Merge branch 'tp34'
     add 109136d  Merge branch 'tp34'
     add bd4ad6b  Merge branch 'tp34'
     add 5b32295  Merge branch 'tp34'
     add d3b1bf3  Merge branch 'tp34'
     add 8599829  Merge branch 'tp34'
     add c164c76  Merge branch 'tp34'
     add 8dfb4b5  Renamed the script eval error ResponseStatusCode to be more generic
     add bd927a4  support parameterized groovy translator
     add 0fa7a77  Merge branch 'pr-1158' into TINKERPOP-2252
     add 9b84456  TINKERPOP-2252 Minor refactoring of Translator and more tests
     add 0da112f  Merge branch 'tp34'
     add c59714b  Minor refactoring on GroovyTranslator changes CTR
     add 35da997  Merge branch 'tp34'
     add 4d2142d  Merge branch 'tp34'
     add ef94c85  TINKERPOP-2295 Removed scriptEvaluationTimeout configurations
     add 483dd90  Merge branch 'TINKERPOP-2295'
     add 928541f  Merge branch 'tp34'
     add a96ef03  Merge branch 'tp34'
     add e8e0915  Update imports for commons configuration2 CTR
     add 87e914f  Removed some more side-effect retrieval code - should have been removed some time ago. CTR
     add e69328f  Merge branch 'tp34'
     add 5213563  Merge branch 'tp34'
     add c4247ca  Merge branch 'tp34'
     add 2c3564e  Merge branch 'tp34'
     add b5950cf  Merge branch 'tp34'
     add 67d55c9  Merge branch 'tp34'
     add 7ab458c  Merge branch 'tp34'
     add 7f8edee  Merge branch 'TINKERPOP-2303-on-tp34' into TINKERPOP-2303-on-master
     add 97f0d4a  Merge pull request #1204 from dalaro/TINKERPOP-2303-on-master
     add 77cbeed  Merge branch 'tp34'
     add 8a7dc91  Default utility to use GraphBinary rather than Gryo
     add dffbb74  Merge branch 'tp34'
     add a13fa61  Merge branch 'tp34'
     add c9ca1f2  Merge branch 'tp34'
     add 25a34d1  Merge branch 'tp34'
     add f835b41  Merge branch 'tp34'
     add 9e96528  Merge branch 'tp34'
     add 5ee2dc1  Merge branch 'tp34'
     add c8b9262  Added graphbinary IO test files for 3.5.0 CTR
     add 3e3748e  Merge branch 'tp34'
     add 6447f3d  Merge branch 'tp34'
     add a1fecc6  Updated website for 3.3.9/3.4.4 release CTR
     add 24ee434  Merge branch 'tp34'
     add 691cc65  Merge branch 'tp34'
     add 6f1e0a9  Merge branch 'tp34'
     add 77b4293  Merge branch 'tp34'
     add 0c673cf  Merge branch 'tp34'
     add d759b20  Merge branch 'tp34'
     add 45fa7bc  Merge branch 'tp34'
     add 886a166  Merge branch 'tp34'
     add 01ef5b7  Merge branch 'tp34'
     add f2bb01d  Got docs generating again after Translator changes CTR
     add 78665fb  Merge branch 'tp34'
     add e53c17f  Merge branch 'tp34'
     add 3fe3ca6  Add Divij Vaidya to the list of contributors. CTR
     add a403f83  minor format CTR
     add 8e3e990  TINKERPOP-1568 Changed order of strategy application.
     add ccd7e2a  TINKERPOP-1568 Refactored strategy application a bit.
     add fb83588  TINKERPOP-1568 Added Traversal.isRoot()
     add b7eb1de  TINKERPOP-1568 Changed when side-effects were set to child traversals in strategy application
     add 0bbe258  TINKERPOP-1568 Add some docs around TraversalStrategy application revisions
     add 172b77b  Merge pull request #1211 from apache/TINKERPOP-1568
     add d0838e2  Merge branch 'tp34'
     add 96f5609  Merge branch 'tp34'
     add 4240b35  Merge branch 'tp34'
     add a2dfcd0  Merge branch 'tp34'
     add b779cdf  Merge branch 'tp34'
     add d717990  Merge branch 'tp34'
     add 8852f4d  Merge branch 'tp34'
     add 19763a2  Merge branch 'tp34'
     add 5205388  Kill dependabot with deadly config!!!
     add 359a241  Merge branch 'tp34'
     add 8fa2045  Merge branch 'tp34'
     add cc0d3ce  Merge branch 'tp34'
     add f4de1d5  Merge branch '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 be4defb  Merge branch 'tp34'
     add 91a25a7  Merge branch 'tp34'
     add 057cd3b  Merge branch '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
     add 84e3a46  Merge branch 'tp34'
     add ea17408  Merge branch 'tp34'
     add 06180aa  Merge branch 'tp34'
     add fcf340d  Merge branch 'tp34'
     add 83e2a60  TINKERPOP-2317 Removed Python 2 support
     add 4709e52  TINKERPOP-2317 Removed Jython support
     add b09ba5b  TINKERPOP-2317 Cleaned up docs around jython
     add c14aa9e  Merge pull request #1225 from apache/TINKERPOP-2317
     add 2155e9c  Fixed bug in commons-configuration2 coordinates for javadoc CTR
     add 80aceda  Merge branch 'tp34'
     add a129900  Merge branch 'tp34'
     add 454f11c  Merge branch 'tp34'
     add 5dfb28a  Merge branch 'tp34'
     add 4c1b690  TINKERPOP-2327 Removed deprecated NIO channelizer support CTR
     add d86a7ab  Merge branch 'tp34'
     add bbdd44f  Added gremlin-visualizer to the index list CTR
     add d8921d0  Merge branch 'tp34'
     add 0b24589  Merge branch 'tp34'
     add 33c67ac  Merge branch 'tp34'
     add 2e5d31b  Merge branch 'tp34'
     add fbcc93e  Merge branch 'tp34'
     add 0b9eb17  Merge branch 'tp34'
     add 52a3dab  Merge branch 'tp34'
     add 4ec8ddc  Merge branch '3.4-dev'
     add 68ee6c9  Bump to commons-configuration2 2.6 CTR
     add aa1f7bc  Upgrade mockito to 3.x which is a breaking version. CTR
     add ca5bec5  Fixed jar conflict in neo4j after commons-configuration2 bump CTR
     add 92cba1a  Bump hamcrest version CTR
     add a021aa2  Merge branch '3.4-dev'
     add c37233c  Merge branch '3.4-dev'
     add 3c38289  Merge branch '3.4-dev'
     add 768fc75  Merge branch '3.4-dev'
     add 0dbab69  Merge branch '3.4-dev'
     add 4c4a7b6  Merge branch '3.4-dev'
     add 06f6fe9  Merge branch '3.4-dev'
     add 46f36ad  Merge branch '3.4-dev'
     add 6fa0acd  Added some notes on neo4j to the upgrade documentation CTR
     add b6f9936  TINKERPOP-2017 Added failing test case
     add 99a985a  TINKERPOP-2107 Fixed problem with reattachment of Property instances
     add 5775a24  Merge pull request #1238 from apache/TINKERPOP-2107
     add 5662c03  TINKERPOP-2312 Empty keys to group() should group to null
     add 434a41c  Merge pull request #1240 from apache/TINKERPOP-2312
     add c9404fc  Merge branch '3.4-dev'
     add 669412f  Merge branch '3.4-dev'
     add 3f67f94  Merge branch '3.4-dev'
     add 5646a26  Merge branch '3.4-dev'
     add 089bf78  Merge branch '3.4-dev'
     add 7d6d51c  Merge branch '3.4-dev'
     add 6a62440  Merge branch '3.4-dev'
     add 72f29b3  Update for 3.3.10/3.4.5 release CTR
     add 5e87161  Merge branch '3.4-dev'
     add b47812a  Merge branch '3.4-dev'
     add d3fd602  Merge branch '3.4-dev'
     add cb4fe6a  Merge branch '3.4-dev'
     add 8feb3ae  Merge branch '3.4-dev'
     add c3b07a8  Merge branch '3.4-dev'
     add ad66b5d  Merge branch '3.4-dev'
     add 75d86b7  Merge branch '3.4-dev'
     add 8e1ff0a  Added 3.4.6 to web site CTR
     add e83779a  Convert links on website to https where possible CTR
     add bf4348c  Merge branch '3.4-dev'
     add ba84a6c  Merge branch '3.4-dev'
     add c0ee57d  Merge branch '3.4-dev'
     add aab3b4c  Merge branch '3.4-dev'
     add f817acc  Merge branch '3.4-dev'
     add a233097  Added GraphBinary 3.5.0 test. CTR
     add 6083dc4  Merge branch '3.4-dev'
     add 060ce5b  Merge branch '3.4-dev'
     add db363b5  Merge branch '3.4-dev'
     add 631f80c  Merge branch '3.4-dev'
     add 52cb789  Merge branch '3.4-dev'
     add de1813c  Merge branch '3.4-dev'
     add 89faefc  TINKERPOP-2336 Removed maxWaitForSessionClose
     add f1549fb  Merge branch '3.4-dev'
     add ee6e46b  Merge branch '3.4-dev'
     add 1fb93de  Merge branch '3.4-dev'
     add 453b14e  Merge branch '3.4-dev'
     add b1456c2  Merge branch '3.4-dev'
     add 12de0ce  Merge branch '3.4-dev'
     add 5c2d1ba  This is the 3.5.0 fix to the bad io test data for session based requests CTR
     add 5ca9377  Added gremlify.com to powered by on home page CTR
     add 6735fab  Manually installed python 3.5.3 for docker build
     add 59003de  Merge branch '3.3-dev' into 3.4-dev
     add 39ce017  Merge branch '3.4-dev'
     add 1ca112a  Added some docs to point folks at elementMap() from valueMap() CTR
     add cae0f49  Merge branch '3.4-dev'
     add 9a43135  TINKERPOP-2335 Update to .NET Core 3.1
     add 9e340be  Merge branch '3.3-dev' into 3.4-dev
     add 434c8de  Merge branch '3.4-dev'
     add d7308bb  Update SourceLink to stable version 1.0.0 CTR
     add f800598  Merge branch '3.3-dev' into 3.4-dev
     add 0a7769e  Merge branch '3.4-dev'
     add e9f8d0e  TINKERPOP-2335 Drop support for .NET Standard <2.0
     add fd16acc  Added some start step documentation CTR
     add c7dd273  Merge branch '3.3-dev' into 3.4-dev
     add efd7d04  Added with() to start step documentation CTR
     add 7050a6f  Merge branch '3.4-dev'
     add 3dd4da4  Fix the docs for Dedup with a scope.
     add 8569e38  Merge branch '3.3-dev' into 3.4-dev
     add b7a7cc3  Merge branch '3.4-dev'
     add 179e643  Add in example of using path with to or from modulators to the documentation (#1267)
     add c309206  Merge remote-tracking branch 'origin/3.4-dev'
     new 242884b  TINKERPOP-2288 Replace closed connections directly

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   (9b774fb)
            \
             N -- N -- N   refs/heads/TINKERPOP-2288 (242884b)

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 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .asf.yaml                                          |  11 +
 .dependabot/config.yml                             |  10 +
 .mailmap                                           |   2 +
 .travis.yml                                        |   2 +-
 CHANGELOG.asciidoc                                 |  51 ++
 docker/Dockerfile                                  |  12 +-
 .../gremlin-server-integration-secure.yaml         |   7 +-
 .../gremlin-server/gremlin-server-integration.yaml |   7 +-
 docs/preprocessor/awk/init-code-blocks.awk         |  45 --
 docs/preprocessor/awk/language-variants.awk        |   7 -
 docs/preprocessor/awk/prepare.awk                  |   3 -
 docs/preprocessor/awk/tabify.awk                   |   3 -
 docs/preprocessor/install-plugins.sh               |   3 -
 docs/preprocessor/preprocess-file.sh               |   2 +-
 docs/site/home/downloads.html                      | 289 ++++++++-
 docs/site/home/gremlin.html                        |   8 +-
 docs/site/home/index.html                          | 124 ++--
 docs/site/home/policy.html                         |  10 +-
 docs/site/home/providers.html                      |  54 +-
 docs/site/home/template/header-footer.html         |  48 +-
 .../dev/developer/development-environment.asciidoc |   2 +-
 docs/src/dev/developer/for-committers.asciidoc     |   2 +-
 docs/src/dev/io/gryo.asciidoc                      |   5 +-
 docs/src/dev/provider/index.asciidoc               |  61 +-
 docs/src/recipes/anti-patterns.asciidoc            |   2 +-
 docs/src/recipes/centrality.asciidoc               |   2 +-
 docs/src/recipes/olap-spark-yarn.asciidoc          |   2 +-
 docs/src/reference/gremlin-applications.asciidoc   |  35 +-
 docs/src/reference/gremlin-variants.asciidoc       | 229 +++----
 docs/src/reference/implementations-neo4j.asciidoc  |   2 +-
 .../reference/implementations-tinkergraph.asciidoc |   1 +
 docs/src/reference/intro.asciidoc                  |  12 +-
 docs/src/reference/the-graphcomputer.asciidoc      |  14 +-
 docs/src/reference/the-traversal.asciidoc          | 106 +++-
 .../gremlin-language-variants/index.asciidoc       |   4 -
 .../tutorials/the-gremlin-console/index.asciidoc   |   4 +-
 docs/src/upgrade/index.asciidoc                    |   2 +
 docs/src/upgrade/release-3.4.x.asciidoc            |   9 +
 docs/src/upgrade/release-3.5.x.asciidoc            | 617 +++++++++++++++++++
 docs/static/images/gremlin-sleeping-beauty.png     | Bin 0 -> 48572 bytes
 gremlin-archetype/gremlin-archetype-dsl/pom.xml    |   2 +-
 gremlin-archetype/gremlin-archetype-server/pom.xml |   2 +-
 .../src/test/resources/gremlin-server.yaml         |   3 +-
 .../gremlin-archetype-tinkergraph/pom.xml          |   2 +-
 gremlin-archetype/pom.xml                          |   2 +-
 gremlin-console/bin/gremlin.sh                     |   2 +-
 gremlin-console/pom.xml                            |   4 +-
 .../GephiTraversalVisualizationStrategy.groovy     |   6 +-
 .../console/jsr223/DriverGremlinPlugin.java        |   4 +-
 gremlin-core/pom.xml                               |  12 +-
 .../tinkerpop/gremlin/jsr223/CoreImports.java      |  39 +-
 .../tinkerpop/gremlin/jsr223/JavaTranslator.java   |  33 +-
 .../gremlin/process/computer/MapReduce.java        |   2 +-
 .../gremlin/process/computer/VertexProgram.java    |   2 +-
 .../bulkdumping/BulkDumperVertexProgram.java       | 101 ----
 .../process/computer/bulkloading/BulkLoader.java   | 144 -----
 .../bulkloading/BulkLoaderVertexProgram.java       | 499 ----------------
 .../bulkloading/IncrementalBulkLoader.java         | 154 -----
 .../computer/bulkloading/OneTimeBulkLoader.java    | 109 ----
 .../connected/ConnectedComponentVertexProgram.java |   6 +-
 .../peerpressure/ClusterCountMapReduce.java        |   2 +-
 .../peerpressure/ClusterPopulationMapReduce.java   |   2 +-
 .../peerpressure/PeerPressureVertexProgram.java    |  19 +-
 .../ranking/pagerank/PageRankMapReduce.java        |   2 +-
 .../ranking/pagerank/PageRankVertexProgram.java    |  27 +-
 .../search/path/ShortestPathVertexProgram.java     |   2 +-
 .../computer/traversal/TraversalVertexProgram.java |   6 +-
 .../step/map/PageRankVertexProgramStep.java        |  34 +-
 .../step/map/PeerPressureVertexProgramStep.java    |  32 +-
 .../step/map/ProgramVertexProgramStep.java         |   4 +-
 .../step/map/TraversalVertexProgramStep.java       |   2 +-
 .../strategy/decoration/VertexProgramStrategy.java |  14 +-
 .../MessagePassingReductionStrategy.java           |  22 +-
 .../util/AbstractVertexProgramBuilder.java         |  13 +-
 .../process/computer/util/ComputerGraph.java       |   2 +-
 .../process/computer/util/StaticMapReduce.java     |   2 +-
 .../process/computer/util/StaticVertexProgram.java |   2 +-
 .../process/computer/util/VertexProgramHelper.java |   6 +-
 .../gremlin/process/remote/RemoteConnection.java   |   2 +-
 .../remote/traversal/AbstractRemoteTraversal.java  |   5 +
 .../AbstractRemoteTraversalSideEffects.java        | 103 ----
 .../remote/traversal/EmbeddedRemoteTraversal.java  |   9 -
 .../EmbeddedRemoteTraversalSideEffects.java        |  51 --
 .../process/remote/traversal/RemoteTraversal.java  |  10 -
 .../traversal/RemoteTraversalSideEffects.java      |  48 --
 .../remote/traversal/step/map/RemoteStep.java      |   1 -
 .../strategy/decoration/RemoteStrategy.java        |   2 +-
 .../traversal/AnonymousTraversalSource.java        |  11 +-
 .../gremlin/process/traversal/Bytecode.java        |   4 +
 .../tinkerpop/gremlin/process/traversal/Order.java |  52 +-
 .../gremlin/process/traversal/Script.java          | 105 ++++
 .../gremlin/process/traversal/Translator.java      |   7 +-
 .../gremlin/process/traversal/Traversal.java       |  32 +-
 .../gremlin/process/traversal/TraversalSource.java |  52 --
 .../process/traversal/TraversalStrategies.java     |  30 +-
 .../process/traversal/TraversalStrategy.java       |   4 +-
 .../gremlin/process/traversal/Traverser.java       |   9 +-
 .../traversal/dsl/graph/GraphTraversal.java        |  37 +-
 .../traversal/dsl/graph/GraphTraversalSource.java  |  51 +-
 ...mentValueTraversal.java => ValueTraversal.java} |  26 +-
 .../process/traversal/step/ByModulating.java       |   6 +-
 .../process/traversal/step/PathProcessor.java      |   4 +-
 .../gremlin/process/traversal/step/Scoping.java    |  88 ++-
 .../traversal/step/filter/DedupGlobalStep.java     |  21 +-
 .../traversal/step/filter/WherePredicateStep.java  |   4 +-
 .../traversal/step/filter/WhereTraversalStep.java  |   8 +-
 .../process/traversal/step/map/AddEdgeStep.java    |   2 +-
 .../traversal/step/map/AddVertexStartStep.java     |  19 +-
 .../process/traversal/step/map/AddVertexStep.java  |  21 +-
 .../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        |  24 +-
 .../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 +-
 ...AggregateStep.java => AggregateGlobalStep.java} |   8 +-
 .../{StoreStep.java => AggregateLocalStep.java}    |   8 +-
 .../process/traversal/step/util/AbstractStep.java  |  19 +-
 .../process/traversal/step/util/ImmutablePath.java |   8 +-
 .../process/traversal/step/util/Parameters.java    |  49 +-
 .../traversal/strategy/TraversalStrategyProxy.java |   2 +-
 .../strategy/decoration/ElementIdStrategy.java     |   4 +-
 .../decoration/HaltedTraverserStrategy.java        |   4 +-
 .../strategy/decoration/OptionsStrategy.java       |   4 +-
 .../strategy/decoration/PartitionStrategy.java     |   4 +-
 .../strategy/decoration/RequirementsStrategy.java  |   4 +-
 .../strategy/decoration/SackStrategy.java          |   2 +-
 .../strategy/decoration/SideEffectStrategy.java    |   4 +-
 .../strategy/decoration/SubgraphStrategy.java      |  25 +-
 .../finalization/MatchAlgorithmStrategy.java       |   4 +-
 .../strategy/finalization/ProfileStrategy.java     |   4 +-
 .../finalization/ReferenceElementStrategy.java     |   4 +-
 .../optimization/IncidentToAdjacentStrategy.java   |   2 +-
 .../optimization/InlineFilterStrategy.java         |   2 +-
 .../optimization/PathRetractionStrategy.java       |   2 +-
 .../AbstractWarningVerificationStrategy.java       |   6 +-
 .../EdgeLabelVerificationStrategy.java             |   4 +-
 .../ReservedKeysVerificationStrategy.java          |   2 +-
 .../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   |  72 ++-
 .../traversal/util/DefaultTraversalStrategies.java |  18 +-
 .../traversal/util/EmptyTraversalStrategies.java   |  10 +-
 .../process/traversal/util/PureTraversal.java      |   2 +-
 .../traversal/util/TraversalExplanation.java       |   4 +-
 .../process/traversal/util/TraversalHelper.java    |  18 +-
 .../apache/tinkerpop/gremlin/structure/Graph.java  |  26 +-
 .../tinkerpop/gremlin/structure/Property.java      |   4 -
 .../io/binary/TypeSerializerRegistry.java          |  19 +-
 .../structure/io/binary/types/GraphSerializer.java |   4 +-
 .../binary/types/TraversalStrategySerializer.java  |   4 +-
 .../io/graphson/TraversalSerializersV2d0.java      |   4 +-
 .../io/graphson/TraversalSerializersV3d0.java      |   4 +-
 .../io/gryo/kryoshim/KryoShimService.java          |   2 +-
 .../io/gryo/kryoshim/KryoShimServiceLoader.java    |   6 +-
 .../structure/io/util/IoRegistryHelper.java        |   2 +-
 .../gremlin/structure/util/ElementHelper.java      |  59 +-
 .../gremlin/structure/util/GraphFactory.java       |  45 +-
 .../gremlin/structure/util/StringFactory.java      |   3 +-
 .../gremlin/structure/util/empty/EmptyGraph.java   |   2 +-
 .../gremlin/structure/util/star/StarGraph.java     |  26 +-
 .../apache/tinkerpop/gremlin/util/SystemUtil.java  |   5 +-
 .../gremlin/util/config/YamlConfiguration.java     | 127 ----
 .../gremlin/process/TraversalStrategiesTest.java   |  21 +-
 .../gremlin/process/traversal/OrderTest.java       |  21 +-
 .../dsl/graph/GraphTraversalSourceTest.java        |   2 +-
 .../lambda/ElementValueTraversalTest.java          |  78 ---
 .../traversal/lambda/ValueTraversalTest.java       | 118 ++++
 .../traversal/step/map/AddVertexStepTest.java      |  48 ++
 .../traversal/step/map/OrderGlobalStepTest.java    |   6 -
 .../traversal/step/map/OrderLocalStepTest.java     |   6 -
 ...eStepTest.java => AggregateGlobalStepTest.java} |   2 +-
 ...reStepTest.java => AggregateLocalStepTest.java} |   2 +-
 .../traversal/step/util/ParametersTest.java        |  27 +
 .../optimization/InlineFilterStrategyTest.java     |   3 +-
 .../optimization/PathProcessorStrategyTest.java    |  14 +-
 .../traverser/util/EmptyTraverserTest.java         |  33 +-
 .../gremlin/structure/io/gryo/GryoPoolTest.java    |   6 +-
 .../gremlin/structure/util/ElementHelperTest.java  |  58 +-
 .../gremlin/structure/util/GraphFactoryTest.java   |   4 +-
 .../tinkerpop/gremlin/util/SystemUtilTest.java     |   2 +-
 .../gremlin/util/config/YamlConfigurationTest.java | 135 -----
 .../gremlin/util/iterator/ArrayIteratorTest.java   |  16 +
 .../glv/Gremlin.Net.Template.csproj.template       |   3 +-
 gremlin-dotnet/glv/Gremlin.Net.csproj.template     |  10 +-
 gremlin-dotnet/glv/TextP.template                  |   3 -
 gremlin-dotnet/pom.xml                             |   2 +-
 .../Gremlin.Net.Template.csproj                    |   5 +-
 .../Gremlin.Net.Template.nuspec                    |   2 +-
 .../Driver/Messages/ResponseStatusCode.cs          |   8 +-
 .../Driver/Remote/DriverRemoteTraversal.cs         |   4 -
 .../Remote/DriverRemoteTraversalSideEffects.cs     | 129 ----
 .../Driver/ResultsAggregation/AggregatorFactory.cs |  46 --
 .../ResultsAggregation/DictionaryAggregator.cs     |  44 --
 .../Driver/ResultsAggregation/IAggregator.cs       |  31 -
 .../ResultsAggregation/TraverserAggregator.cs      |  44 --
 .../Driver/SingleMessageResultReceiver.cs          |  23 +-
 gremlin-dotnet/src/Gremlin.Net/Driver/Tokens.cs    |  36 --
 gremlin-dotnet/src/Gremlin.Net/Gremlin.Net.csproj  |  16 +-
 .../Gremlin.Net/Process/Remote/RemoteStrategy.cs   |   1 -
 .../src/Gremlin.Net/Process/Traversal/Bytecode.cs  |   6 +
 .../Process/Traversal/DefaultTraversal.cs          |  16 -
 .../Gremlin.Net/Process/Traversal/ITraversal.cs    |   7 -
 .../Process/Traversal/ITraversalSideEffects.cs     |  53 --
 .../Gremlin.Net/Process/Traversal/Instruction.cs   |  11 +
 .../src/Gremlin.Net/Process/Traversal/Order.cs     |   6 -
 .../src/Gremlin.Net/Process/Traversal/TextP.cs     |   3 -
 .../Structure/IO/GraphSON/GraphSONWriter.cs        |  21 +-
 gremlin-dotnet/src/pom.xml                         |   2 +-
 .../Driver/GremlinClientTests.cs                   |   2 +-
 .../Driver/MessagesTests.cs                        |   2 +-
 .../Gherkin/CommonSteps.cs                         |   4 +-
 .../Gherkin/GherkinTestRunner.cs                   |   1 +
 .../Gherkin/IgnoreException.cs                     |   9 +-
 .../Gherkin/ScenarioData.cs                        |   6 +-
 .../TraversalEvaluation/LiteralParameter.cs        |  11 +-
 .../Gherkin/TraversalEvaluation/TraversalParser.cs |  26 +-
 .../Gremlin.Net.IntegrationTest.csproj             |   5 +-
 .../DriverRemoteConnection/SideEffectTests.cs      | 160 -----
 .../Gremlin.Net.Template.IntegrationTest.csproj    |   4 +-
 .../Gremlin.Net.UnitTest.csproj                    |   5 +-
 .../Process/Traversal/TraversalTests.cs            |  12 -
 .../Structure/IO/GraphSON/GraphSONReaderTests.cs   |   9 +-
 .../Structure/IO/GraphSON/GraphSONWriterTests.cs   |   4 +-
 gremlin-dotnet/test/pom.xml                        |   6 +-
 gremlin-driver/pom.xml                             |   4 +-
 .../tinkerpop/gremlin/driver/Channelizer.java      |  22 -
 .../apache/tinkerpop/gremlin/driver/Client.java    |   4 +-
 .../apache/tinkerpop/gremlin/driver/Cluster.java   | 107 +---
 .../tinkerpop/gremlin/driver/Connection.java       |  36 --
 .../apache/tinkerpop/gremlin/driver/Handler.java   |  30 +-
 .../tinkerpop/gremlin/driver/RequestOptions.java   |   2 +-
 .../tinkerpop/gremlin/driver/ResultQueue.java      |  65 --
 .../apache/tinkerpop/gremlin/driver/Settings.java  |  66 +-
 .../apache/tinkerpop/gremlin/driver/Tokens.java    |  77 +--
 .../driver/handler/NioGremlinRequestEncoder.java   |  75 ---
 .../driver/handler/NioGremlinResponseDecoder.java  |  63 --
 .../gremlin/driver/message/ResponseStatusCode.java |   2 +-
 .../driver/remote/DriverRemoteConnection.java      |   5 +-
 .../driver/remote/DriverRemoteTraversal.java       |  33 +-
 .../remote/DriverRemoteTraversalSideEffects.java   | 193 ------
 .../driver/ser/GraphBinaryMessageSerializerV1.java |   5 +-
 .../tinkerpop/gremlin/driver/ser/Serializers.java  |  19 +-
 .../tinkerpop/gremlin/driver/simple/NioClient.java |  92 ---
 .../gremlin/driver/simple/WebSocketClient.java     |   5 +-
 .../gremlin/driver/util/ProfilingApplication.java  |   2 +-
 .../gremlin/driver/ClusterBuilderTest.java         |   4 +-
 .../driver/MockitoHamcrestMatcherAdapter.java      |  51 ++
 .../tinkerpop/gremlin/driver/ResultQueueTest.java  | 130 +---
 .../tinkerpop/gremlin/driver/SettingsTest.java     |  12 +-
 .../driver/remote/DriverRemoteConnectionTest.java  |   2 +-
 .../DriverRemoteTraversalSideEffectsTest.java      | 140 -----
 .../binary/GraphBinaryMessageSerializerV1Test.java |   8 +-
 .../GraphBinaryReaderWriterRoundTripTest.java      |  12 +-
 .../types/sample/SamplePersonSerializerTest.java   |   6 +-
 gremlin-groovy/pom.xml                             |   2 +-
 .../gremlin/groovy/engine/GremlinExecutor.java     |  35 --
 .../groovy/jsr223/GremlinGroovyScriptEngine.java   |   7 +-
 .../gremlin/groovy/jsr223/GroovyTranslator.java    | 329 ++++++----
 .../gremlin/groovy/engine/GremlinExecutorTest.java |  12 +-
 .../groovy/jsr223/GroovyTranslatorProvider.java    |   4 -
 .../groovy/jsr223/GroovyTranslatorTest.java        |  60 +-
 ...ameterizedGroovyTranslatorComputerProvider.java |  12 +-
 ...terizedGroovyTranslatorProcessComputerTest.java |  11 +-
 ...terizedGroovyTranslatorProcessStandardTest.java |  11 +-
 ... => ParameterizedGroovyTranslatorProvider.java} |   8 +-
 .../jsr223/ParameterizedGroovyTranslatorTest.java  | 664 +++++++++++++++++++++
 .../gremlin/util/TinkerGraphProvider.java          |   2 +-
 gremlin-javascript/pom.xml                         |   6 +-
 .../gremlin-javascript/lib/process/traversal.js    |   2 +-
 .../javascript/gremlin-javascript/package.json     |   2 +-
 .../test/cucumber/feature-steps.js                 |  12 +-
 .../gremlin-javascript/test/unit/graphson-test.js  |   5 +
 .../test/unit/translator-test.js                   |   4 +-
 gremlin-python/glv/TraversalSource.template        |  21 -
 gremlin-python/glv/generate.groovy                 |   4 +-
 gremlin-python/pom.xml                             | 361 ++---------
 .../python/jsr223/GremlinJythonScriptEngine.java   | 250 --------
 .../jsr223/GremlinJythonScriptEngineFactory.java   | 115 ----
 .../gremlin/python/jsr223/JythonTranslator.java    |  81 ---
 .../gremlin/python/jsr223/PythonTranslator.java    | 265 --------
 .../gremlin/python/jsr223/SymbolHelper.java        |  65 --
 .../gremlin_python/driver/remote_connection.py     | 157 -----
 gremlin-python/src/main/{jython => python}/LICENSE |   0
 .../src/main/{jython => python}/MANIFEST.in        |   0
 gremlin-python/src/main/{jython => python}/NOTICE  |   0
 .../src/main/{jython => python}/README.rst         |   0
 .../src/main/{jython => python}/example.py         |   0
 .../process => python/gremlin_python}/__init__.py  |   0
 .../gremlin_python/driver/__init__.py              |   0
 .../gremlin_python/driver/client.py                |   0
 .../gremlin_python/driver/connection.py            |   0
 .../driver/driver_remote_connection.py             |  10 +-
 .../gremlin_python/driver/protocol.py              |   0
 .../gremlin_python/driver/remote_connection.py     |  70 +++
 .../gremlin_python/driver/request.py               |   0
 .../gremlin_python/driver/resultset.py             |   0
 .../gremlin_python/driver/serializer.py            |  19 +-
 .../gremlin_python/driver/tornado/__init__.py      |   0
 .../gremlin_python/driver/tornado/transport.py     |   0
 .../gremlin_python/driver/transport.py             |   0
 .../gremlin_python/process}/__init__.py            |   0
 .../gremlin_python/process/anonymous_traversal.py  |   0
 .../gremlin_python/process/graph_traversal.py      |   0
 .../gremlin_python/process/strategies.py           |   0
 .../gremlin_python/process/traversal.py            |  25 +-
 .../{jython => python}/gremlin_python/statics.py   |  37 +-
 .../gremlin_python/structure}/__init__.py          |   0
 .../gremlin_python/structure/graph.py              |   0
 .../gremlin_python/structure/io}/__init__.py       |   0
 .../gremlin_python/structure/io/graphbinaryV1.py   |  14 +-
 .../gremlin_python/structure/io/graphsonV2d0.py    |   7 +-
 .../gremlin_python/structure/io/graphsonV3d0.py    |   7 +-
 .../{jython => python}/radish/feature_steps.py     |  45 +-
 .../src/main/{jython => python}/radish/terrain.py  |   2 +-
 .../src/main/{jython => python}/runtest.py         |   0
 .../src/main/{jython => python}/setup.cfg          |   0
 .../src/main/{jython => python}/setup.py           |   3 +-
 .../tests/driver => python/tests}/__init__.py      |   0
 .../src/main/{jython => python}/tests/conftest.py  |   0
 .../tests => python/tests/driver}/__init__.py      |   0
 .../{jython => python}/tests/driver/test_client.py |   0
 .../tests/driver/test_driver_remote_connection.py  | 115 +---
 .../test_driver_remote_connection_threaded.py      |   0
 .../tests/driver/test_serializer.py                |   0
 .../io => python/tests/process}/__init__.py        |   0
 .../{jython => python}/tests/process/test_dsl.py   |   0
 .../tests/process/test_strategies.py               |   0
 .../tests/process/test_traversal.py                |   0
 .../{jython => python}/tests/structure/__init__.py |   0
 .../tests/structure/io}/__init__.py                |   0
 .../tests/structure/io/test_functionalityio.py     |  17 +-
 .../tests/structure/io/test_graphbinaryV1.py       |  18 +-
 .../tests/structure/io/test_graphsonV2d0.py        |   6 +-
 .../tests/structure/io/test_graphsonV3d0.py        |   6 +-
 .../tests/structure/test_graph.py                  |   4 -
 .../main/{jython => python}/tests/test_statics.py  |   0
 .../services/javax.script.ScriptEngineFactory      |  20 -
 ...erpop.gremlin.jsr223.GremlinScriptEngineFactory |   1 -
 .../jsr223/GremlinJythonScriptEngineTest.java      | 105 ----
 .../python/jsr223/JythonScriptEngineSetup.java     |  63 --
 .../python/jsr223/JythonTranslatorTest.java        | 124 ----
 .../jsr223/PythonGraphSONJavaTranslator.java       | 118 ----
 .../jsr223/PythonGremlinScriptEngineTest.java      |  33 -
 .../gremlin/python/jsr223/PythonProvider.java      | 158 -----
 .../structure/io/graphson/GraphSONReaderTest.java  | 155 -----
 .../structure/io/graphson/GraphSONWriterTest.java  | 163 -----
 .../src/test/resources/log4j-silent.properties     |  23 -
 .../src/test/resources/log4j-test.properties       |  23 -
 gremlin-server/conf/gremlin-server-classic.yaml    |   2 -
 gremlin-server/conf/gremlin-server-modern-py.yaml  |  61 --
 .../conf/gremlin-server-modern-readonly.yaml       |   2 -
 gremlin-server/conf/gremlin-server-modern.yaml     |   2 -
 gremlin-server/conf/gremlin-server-neo4j.yaml      |   2 -
 gremlin-server/conf/gremlin-server-secure.yaml     |   2 -
 gremlin-server/conf/gremlin-server-spark.yaml      |   2 -
 gremlin-server/conf/gremlin-server.yaml            |   2 -
 gremlin-server/pom.xml                             |  74 ++-
 .../gremlin/server/AbstractChannelizer.java        |  82 +--
 .../gremlin/server/ResponseHandlerContext.java     |  92 ---
 .../apache/tinkerpop/gremlin/server/Settings.java  |  47 +-
 .../gremlin/server/channel/NioChannelizer.java     |  78 ---
 .../handler/NioGremlinBinaryRequestDecoder.java    | 102 ----
 .../handler/NioGremlinResponseFrameEncoder.java    |  50 --
 .../server/handler/SaslAuthenticationHandler.java  |   5 -
 .../gremlin/server/handler/ServerSerializers.java  |  17 +-
 .../handler/WsGremlinBinaryRequestDecoder.java     |   2 +-
 .../handler/WsGremlinCloseRequestDecoder.java      |   3 +-
 .../handler/WsGremlinTextRequestDecoder.java       |   2 +-
 .../gremlin/server/op/AbstractEvalOpProcessor.java |  21 +-
 .../gremlin/server/op/AbstractOpProcessor.java     |  68 +--
 .../server/op/session/SessionOpProcessor.java      |  25 +-
 .../server/op/traversal/TraversalOpProcessor.java  | 252 +-------
 .../gremlin/server/util/SideEffectIterator.java    |  97 ---
 .../driver/ClientConnectionIntegrateTest.java      |   2 +
 .../driver/remote/AbstractRemoteGraphProvider.java |   2 +-
 .../GraphBinaryRemoteGraphComputerProvider.java    |   6 +-
 .../GraphSONRemoteGraphComputerProvider.java       |   6 +-
 .../remote/GryoRemoteGraphComputerProvider.java    |   6 +-
 ...emoteGraphGroovyTranslatorComputerProvider.java |   6 +-
 .../AbstractGremlinServerIntegrationTest.java      |   2 +-
 .../gremlin/server/GremlinDriverIntegrateTest.java | 142 ++---
 .../server/GremlinServerAuditLogIntegrateTest.java |  43 --
 .../gremlin/server/GremlinServerIntegrateTest.java | 243 +-------
 .../server/GremlinServerSessionIntegrateTest.java  | 110 ++--
 .../server/GremlinServerSslIntegrateTest.java      |  74 ---
 .../gremlin/server/ResponseHandlerContextTest.java | 161 -----
 .../gremlin/server/TestClientFactory.java          |   6 -
 ...tractGremlinServerChannelizerIntegrateTest.java |  43 --
 .../channel/NioChannelizerIntegrateTest.java       |  56 --
 .../server/op/AbstractEvalOpProcessorTest.java     |   7 +-
 gremlin-server/src/test/resources/client.crt       |  40 --
 gremlin-server/src/test/resources/client.key.pk8   |  47 --
 gremlin-server/src/test/resources/server.crt       |  41 --
 gremlin-server/src/test/resources/server.key.pk8   |  47 --
 .../src/test/scripts/test-server-start.groovy      |   8 -
 gremlin-shaded/pom.xml                             |   2 +-
 gremlin-test/features/branch/Branch.feature        |  16 +-
 gremlin-test/features/branch/Choose.feature        |   6 +-
 gremlin-test/features/filter/Dedup.feature         |  32 +
 gremlin-test/features/filter/Is.feature            |   3 +-
 gremlin-test/features/filter/Or.feature            |   3 +-
 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/Order.feature            |  32 -
 gremlin-test/features/map/PageRank.feature         |  40 +-
 gremlin-test/features/map/PeerPressure.feature     |  22 +-
 gremlin-test/features/map/Select.feature           |   3 +-
 gremlin-test/features/sideEffect/Group.feature     |  11 +
 gremlin-test/features/sideEffect/Inject.feature    |  39 ++
 gremlin-test/pom.xml                               |   4 +-
 .../gremlin/AbstractFileGraphProvider.java         |   2 +-
 .../tinkerpop/gremlin/AbstractGraphProvider.java   |   4 +-
 .../tinkerpop/gremlin/AbstractGremlinTest.java     |   2 +-
 .../org/apache/tinkerpop/gremlin/GraphManager.java |   2 +-
 .../apache/tinkerpop/gremlin/GraphProvider.java    |  15 +-
 .../generator/CommunityGeneratorTest.java          |   2 +-
 .../generator/DistributionGeneratorTest.java       |   2 +-
 .../jsr223/GremlinEnabledScriptEngineTest.java     |   6 +-
 .../process/AbstractGremlinProcessTest.java        |  15 +-
 .../gremlin/process/ProcessComputerSuite.java      |   6 -
 .../process/computer/GraphComputerTest.java        |   6 +-
 .../bulkdumping/BulkDumperVertexProgramTest.java   |  98 ---
 .../bulkloading/BulkLoaderVertexProgramTest.java   | 219 -------
 .../PeerPressureVertexProgramTest.java             |  63 --
 .../process/traversal/CoreTraversalTest.java       |  51 +-
 .../process/traversal/step/ComplexTest.java        |  26 +-
 .../process/traversal/step/filter/DedupTest.java   |  49 ++
 .../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/OrderTest.java      |  30 -
 .../process/traversal/step/map/PageRankTest.java   |  90 +--
 .../traversal/step/map/PeerPressureTest.java       |  42 +-
 .../process/traversal/step/map/ProfileTest.java    |  22 +-
 .../process/traversal/step/map/ProgramTest.java    |   2 +-
 .../traversal/step/sideEffect/GroupTest.java       |  27 +-
 .../traversal/step/sideEffect/InjectTest.java      |  53 ++
 .../traversal/step/sideEffect/SubgraphTest.java    |   2 +-
 .../decoration/PartitionStrategyProcessTest.java   |   2 +-
 .../decoration/SubgraphStrategyProcessTest.java    |   2 +-
 .../strategy/decoration/TranslationStrategy.java   |   6 +-
 .../EarlyLimitStrategyProcessTest.java             |   2 +-
 .../gremlin/structure/GraphConstructionTest.java   |   2 +-
 .../tinkerpop/gremlin/structure/PropertyTest.java  |  67 ++-
 .../tinkerpop/gremlin/structure/RemoteGraph.java   |  23 +-
 .../gremlin/structure/TransactionTest.java         |   2 +-
 .../gremlin/structure/VertexPropertyTest.java      |  92 ++-
 .../gremlin/structure/io/IoCustomTest.java         |   2 +-
 .../gremlin/structure/io/IoGraphTest.java          |   2 +-
 .../tinkerpop/gremlin/structure/io/IoTest.java     |   2 +-
 .../gremlin/structure/util/star/StarGraphTest.java |   2 +-
 gremlin-tools/gremlin-benchmark/pom.xml            |   2 +-
 gremlin-tools/gremlin-coverage/pom.xml             |   2 +-
 gremlin-tools/gremlin-io-test/pom.xml              |   2 +-
 .../scripts/generate-graphbinary-resources.groovy  |   2 +-
 .../scripts/generate-graphson-resources.groovy     |   2 +-
 .../scripts/generate-gryo-resources.groovy         |   2 +-
 .../tinkerpop/gremlin/structure/io/Model.java      |  12 +-
 .../io/graphbinary/GraphBinaryCompatibility.java   |   4 +-
 .../io/graphson/GraphSONCompatibility.java         |   7 +-
 .../structure/io/gryo/GryoCompatibility.java       |   5 +-
 .../graphbinary/GraphBinaryCompatibilityTest.java  |   3 +-
 .../graphson/GraphSONTypedCompatibilityTest.java   |   5 +-
 .../graphson/GraphSONUntypedCompatibilityTest.java |   5 +-
 .../structure/io/gryo/GryoCompatibilityTest.java   |   5 +-
 .../graphbinary/{_3_4_6 => _3_5_0}/barrier-v1.gbin | Bin
 .../{_3_4_6 => _3_5_0}/bigdecimal-v1.gbin          | Bin
 .../{_3_4_6 => _3_5_0}/biginteger-v1.gbin          | Bin
 .../graphbinary/{_3_4_6 => _3_5_0}/binding-v1.gbin | Bin
 .../graphbinary/{_3_4_6 => _3_5_0}/bulkset-v1.gbin | Bin
 .../io/graphbinary/{_3_4_6 => _3_5_0}/byte-v1.gbin | Bin
 .../{_3_4_6 => _3_5_0}/bytebuffer-v1.gbin          | Bin
 .../{_3_4_6 => _3_5_0}/bytecode-v1.gbin            | Bin
 .../{_3_4_6 => _3_5_0}/cardinality-v1.gbin         | Bin
 .../io/graphbinary/{_3_4_6 => _3_5_0}/char-v1.gbin | Bin
 .../graphbinary/{_3_4_6 => _3_5_0}/class-v1.gbin   | Bin
 .../graphbinary/{_3_4_6 => _3_5_0}/column-v1.gbin  | Bin
 .../io/graphbinary/{_3_4_6 => _3_5_0}/date-v1.gbin | Bin
 .../{_3_4_6 => _3_5_0}/direction-v1.gbin           | Bin
 .../graphbinary/{_3_4_6 => _3_5_0}/double-v1.gbin  | Bin
 .../{_3_4_6 => _3_5_0}/duration-v1.gbin            | Bin
 .../io/graphbinary/{_3_4_6 => _3_5_0}/edge-v1.gbin | Bin
 .../graphbinary/{_3_4_6 => _3_5_0}/float-v1.gbin   | Bin
 .../{_3_4_6 => _3_5_0}/inetaddress-v1.gbin         | Bin
 .../graphbinary/{_3_4_6 => _3_5_0}/instant-v1.gbin | Bin
 .../graphbinary/{_3_4_6 => _3_5_0}/integer-v1.gbin | Bin
 .../graphbinary/{_3_4_6 => _3_5_0}/lambda-v1.gbin  | Bin
 .../io/graphbinary/{_3_4_6 => _3_5_0}/list-v1.gbin | Bin
 .../{_3_4_6 => _3_5_0}/localdate-v1.gbin           | Bin
 .../{_3_4_6 => _3_5_0}/localdatetime-v1.gbin       | Bin
 .../{_3_4_6 => _3_5_0}/localtime-v1.gbin           | Bin
 .../io/graphbinary/{_3_4_6 => _3_5_0}/long-v1.gbin | Bin
 .../io/graphbinary/{_3_4_6 => _3_5_0}/map-v1.gbin  | Bin
 .../graphbinary/{_3_4_6 => _3_5_0}/metrics-v1.gbin | Bin
 .../{_3_4_6 => _3_5_0}/monthday-v1.gbin            | Bin
 .../{_3_4_6 => _3_5_0}/offsetdatetime-v1.gbin      | Bin
 .../{_3_4_6 => _3_5_0}/offsettime-v1.gbin          | Bin
 .../{_3_4_6 => _3_5_0}/operator-v1.gbin            | Bin
 .../graphbinary/{_3_4_6 => _3_5_0}/order-v1.gbin   | Bin
 .../io/graphbinary/{_3_4_6 => _3_5_0}/p-v1.gbin    | Bin
 .../io/graphbinary/{_3_4_6 => _3_5_0}/pand-v1.gbin | Bin
 .../io/graphbinary/{_3_4_6 => _3_5_0}/path-v1.gbin | Bin
 .../graphbinary/{_3_4_6 => _3_5_0}/period-v1.gbin  | Bin
 .../io/graphbinary/{_3_4_6 => _3_5_0}/pick-v1.gbin | Bin
 .../io/graphbinary/{_3_4_6 => _3_5_0}/pop-v1.gbin  | Bin
 .../io/graphbinary/{_3_4_6 => _3_5_0}/por-v1.gbin  | Bin
 .../{_3_4_6 => _3_5_0}/property-v1.gbin            | Bin
 .../graphbinary/{_3_4_6 => _3_5_0}/pwithin-v1.gbin | Bin
 .../{_3_4_6 => _3_5_0}/pwithout-v1.gbin            | Bin
 .../graphbinary/{_3_4_6 => _3_5_0}/scope-v1.gbin   | Bin
 .../io/graphbinary/{_3_4_6 => _3_5_0}/set-v1.gbin  | Bin
 .../graphbinary/{_3_4_6 => _3_5_0}/short-v1.gbin   | Bin
 .../io/graphbinary/{_3_4_6 => _3_5_0}/t-v1.gbin    | Bin
 .../graphbinary/{_3_4_6 => _3_5_0}/textp-v1.gbin   | Bin
 .../{_3_4_6 => _3_5_0}/timestamp-v1.gbin           | Bin
 .../{_3_4_6 => _3_5_0}/tinkergraph-v1.gbin         | Bin
 .../{_3_4_6 => _3_5_0}/traversalmetrics-v1.gbin    | Bin
 .../{_3_4_6 => _3_5_0}/traverser-v1.gbin           | Bin
 .../io/graphbinary/{_3_4_6 => _3_5_0}/uuid-v1.gbin | Bin
 .../graphbinary/{_3_4_6 => _3_5_0}/vertex-v1.gbin  | Bin
 .../{_3_4_6 => _3_5_0}/vertexproperty-v1.gbin      | Bin
 .../io/graphbinary/{_3_4_6 => _3_5_0}/year-v1.gbin | Bin
 .../{_3_4_6 => _3_5_0}/yearmonth-v1.gbin           | Bin
 .../{_3_4_6 => _3_5_0}/zoneoffset-v1.gbin          | Bin
 .../authenticationchallenge-v1d0.json              |   0
 .../authenticationchallenge-v2d0-no-types.json     |   0
 .../authenticationchallenge-v2d0-partial.json      |   0
 .../authenticationchallenge-v3d0.json              |   0
 .../authenticationresponse-v1d0.json               |   0
 .../authenticationresponse-v2d0-no-types.json      |   0
 .../authenticationresponse-v2d0-partial.json       |   0
 .../authenticationresponse-v3d0.json               |   0
 .../{_3_4_6 => _3_5_0}/barrier-v2d0-partial.json   |   0
 .../graphson/{_3_4_6 => _3_5_0}/barrier-v3d0.json  |   0
 .../bigdecimal-v2d0-partial.json                   |   0
 .../{_3_4_6 => _3_5_0}/bigdecimal-v3d0.json        |   0
 .../biginteger-v2d0-partial.json                   |   0
 .../{_3_4_6 => _3_5_0}/biginteger-v3d0.json        |   0
 .../{_3_4_6 => _3_5_0}/binding-v2d0-partial.json   |   0
 .../graphson/{_3_4_6 => _3_5_0}/binding-v3d0.json  |   0
 .../{_3_4_6 => _3_5_0}/bulkset-v2d0-partial.json   |   0
 .../graphson/{_3_4_6 => _3_5_0}/bulkset-v3d0.json  |   0
 .../{_3_4_6 => _3_5_0}/byte-v2d0-partial.json      |   0
 .../io/graphson/{_3_4_6 => _3_5_0}/byte-v3d0.json  |   0
 .../bytebuffer-v2d0-partial.json                   |   0
 .../{_3_4_6 => _3_5_0}/bytebuffer-v3d0.json        |   0
 .../{_3_4_6 => _3_5_0}/bytecode-v2d0-partial.json  |   0
 .../graphson/{_3_4_6 => _3_5_0}/bytecode-v3d0.json |   0
 .../cardinality-v2d0-partial.json                  |   0
 .../{_3_4_6 => _3_5_0}/cardinality-v3d0.json       |   0
 .../{_3_4_6 => _3_5_0}/char-v2d0-partial.json      |   0
 .../io/graphson/{_3_4_6 => _3_5_0}/char-v3d0.json  |   0
 .../{_3_4_6 => _3_5_0}/class-v2d0-partial.json     |   0
 .../io/graphson/{_3_4_6 => _3_5_0}/class-v3d0.json |   0
 .../{_3_4_6 => _3_5_0}/column-v2d0-partial.json    |   0
 .../graphson/{_3_4_6 => _3_5_0}/column-v3d0.json   |   0
 .../{_3_4_6 => _3_5_0}/date-v2d0-no-types.json     |   0
 .../{_3_4_6 => _3_5_0}/date-v2d0-partial.json      |   0
 .../io/graphson/{_3_4_6 => _3_5_0}/date-v3d0.json  |   0
 .../{_3_4_6 => _3_5_0}/direction-v2d0-partial.json |   0
 .../{_3_4_6 => _3_5_0}/direction-v3d0.json         |   0
 .../{_3_4_6 => _3_5_0}/double-v2d0-no-types.json   |   0
 .../{_3_4_6 => _3_5_0}/double-v2d0-partial.json    |   0
 .../graphson/{_3_4_6 => _3_5_0}/double-v3d0.json   |   0
 .../{_3_4_6 => _3_5_0}/duration-v2d0-partial.json  |   0
 .../graphson/{_3_4_6 => _3_5_0}/duration-v3d0.json |   0
 .../io/graphson/{_3_4_6 => _3_5_0}/edge-v1d0.json  |   0
 .../{_3_4_6 => _3_5_0}/edge-v2d0-no-types.json     |   0
 .../{_3_4_6 => _3_5_0}/edge-v2d0-partial.json      |   0
 .../io/graphson/{_3_4_6 => _3_5_0}/edge-v3d0.json  |   0
 .../{_3_4_6 => _3_5_0}/float-v2d0-partial.json     |   0
 .../io/graphson/{_3_4_6 => _3_5_0}/float-v3d0.json |   0
 .../inetaddress-v2d0-partial.json                  |   0
 .../{_3_4_6 => _3_5_0}/inetaddress-v3d0.json       |   0
 .../{_3_4_6 => _3_5_0}/instant-v2d0-partial.json   |   0
 .../graphson/{_3_4_6 => _3_5_0}/instant-v3d0.json  |   0
 .../{_3_4_6 => _3_5_0}/integer-v2d0-no-types.json  |   0
 .../{_3_4_6 => _3_5_0}/integer-v2d0-partial.json   |   0
 .../graphson/{_3_4_6 => _3_5_0}/integer-v3d0.json  |   0
 .../{_3_4_6 => _3_5_0}/lambda-v2d0-partial.json    |   0
 .../graphson/{_3_4_6 => _3_5_0}/lambda-v3d0.json   |   0
 .../io/graphson/{_3_4_6 => _3_5_0}/list-v3d0.json  |   0
 .../{_3_4_6 => _3_5_0}/localdate-v2d0-partial.json |   0
 .../{_3_4_6 => _3_5_0}/localdate-v3d0.json         |   0
 .../localdatetime-v2d0-partial.json                |   0
 .../{_3_4_6 => _3_5_0}/localdatetime-v3d0.json     |   0
 .../{_3_4_6 => _3_5_0}/localtime-v2d0-partial.json |   0
 .../{_3_4_6 => _3_5_0}/localtime-v3d0.json         |   0
 .../{_3_4_6 => _3_5_0}/long-v2d0-partial.json      |   0
 .../io/graphson/{_3_4_6 => _3_5_0}/long-v3d0.json  |   0
 .../io/graphson/{_3_4_6 => _3_5_0}/map-v3d0.json   |   0
 .../{_3_4_6 => _3_5_0}/metrics-v2d0-partial.json   |   0
 .../graphson/{_3_4_6 => _3_5_0}/metrics-v3d0.json  |   0
 .../{_3_4_6 => _3_5_0}/monthday-v2d0-partial.json  |   0
 .../graphson/{_3_4_6 => _3_5_0}/monthday-v3d0.json |   0
 .../offsetdatetime-v2d0-partial.json               |   0
 .../{_3_4_6 => _3_5_0}/offsetdatetime-v3d0.json    |   0
 .../offsettime-v2d0-partial.json                   |   0
 .../{_3_4_6 => _3_5_0}/offsettime-v3d0.json        |   0
 .../{_3_4_6 => _3_5_0}/operator-v2d0-partial.json  |   0
 .../graphson/{_3_4_6 => _3_5_0}/operator-v3d0.json |   0
 .../{_3_4_6 => _3_5_0}/order-v2d0-partial.json     |   0
 .../io/graphson/{_3_4_6 => _3_5_0}/order-v3d0.json |   0
 .../{_3_4_6 => _3_5_0}/p-v2d0-partial.json         |   0
 .../io/graphson/{_3_4_6 => _3_5_0}/p-v3d0.json     |   0
 .../{_3_4_6 => _3_5_0}/pand-v2d0-partial.json      |   0
 .../io/graphson/{_3_4_6 => _3_5_0}/pand-v3d0.json  |   0
 .../io/graphson/{_3_4_6 => _3_5_0}/path-v1d0.json  |   0
 .../{_3_4_6 => _3_5_0}/path-v2d0-no-types.json     |   0
 .../{_3_4_6 => _3_5_0}/path-v2d0-partial.json      |   0
 .../io/graphson/{_3_4_6 => _3_5_0}/path-v3d0.json  |   0
 .../{_3_4_6 => _3_5_0}/period-v2d0-partial.json    |   0
 .../graphson/{_3_4_6 => _3_5_0}/period-v3d0.json   |   0
 .../{_3_4_6 => _3_5_0}/pick-v2d0-partial.json      |   0
 .../io/graphson/{_3_4_6 => _3_5_0}/pick-v3d0.json  |   0
 .../{_3_4_6 => _3_5_0}/pop-v2d0-partial.json       |   0
 .../io/graphson/{_3_4_6 => _3_5_0}/pop-v3d0.json   |   0
 .../{_3_4_6 => _3_5_0}/por-v2d0-partial.json       |   0
 .../io/graphson/{_3_4_6 => _3_5_0}/por-v3d0.json   |   0
 .../graphson/{_3_4_6 => _3_5_0}/property-v1d0.json |   0
 .../{_3_4_6 => _3_5_0}/property-v2d0-no-types.json |   0
 .../{_3_4_6 => _3_5_0}/property-v2d0-partial.json  |   0
 .../graphson/{_3_4_6 => _3_5_0}/property-v3d0.json |   0
 .../{_3_4_6 => _3_5_0}/pwithin-v2d0-partial.json   |   0
 .../graphson/{_3_4_6 => _3_5_0}/pwithin-v3d0.json  |   0
 .../{_3_4_6 => _3_5_0}/pwithout-v2d0-partial.json  |   0
 .../graphson/{_3_4_6 => _3_5_0}/pwithout-v3d0.json |   0
 .../{_3_4_6 => _3_5_0}/scope-v2d0-partial.json     |   0
 .../io/graphson/{_3_4_6 => _3_5_0}/scope-v3d0.json |   0
 .../{_3_4_6 => _3_5_0}/sessionclose-v1d0.json      |   0
 .../sessionclose-v2d0-no-types.json                |   0
 .../sessionclose-v2d0-partial.json                 |   0
 .../{_3_4_6 => _3_5_0}/sessionclose-v3d0.json      |   0
 .../{_3_4_6 => _3_5_0}/sessioneval-v1d0.json       |   0
 .../sessioneval-v2d0-no-types.json                 |   0
 .../sessioneval-v2d0-partial.json                  |   0
 .../{_3_4_6 => _3_5_0}/sessioneval-v3d0.json       |   0
 .../sessionevalaliased-v1d0.json                   |   0
 .../sessionevalaliased-v2d0-no-types.json          |   0
 .../sessionevalaliased-v2d0-partial.json           |   0
 .../sessionevalaliased-v3d0.json                   |   0
 .../{_3_4_6 => _3_5_0}/sessionlesseval-v1d0.json   |   0
 .../sessionlesseval-v2d0-no-types.json             |   0
 .../sessionlesseval-v2d0-partial.json              |   0
 .../{_3_4_6 => _3_5_0}/sessionlesseval-v3d0.json   |   0
 .../sessionlessevalaliased-v1d0.json               |   0
 .../sessionlessevalaliased-v2d0-no-types.json      |   0
 .../sessionlessevalaliased-v2d0-partial.json       |   0
 .../sessionlessevalaliased-v3d0.json               |   0
 .../io/graphson/{_3_4_6 => _3_5_0}/set-v3d0.json   |   0
 .../{_3_4_6 => _3_5_0}/short-v2d0-partial.json     |   0
 .../io/graphson/{_3_4_6 => _3_5_0}/short-v3d0.json |   0
 .../{_3_4_6 => _3_5_0}/standardresult-v1d0.json    |   0
 .../standardresult-v2d0-partial.json               |   0
 .../{_3_4_6 => _3_5_0}/standardresult-v3d0.json    |   0
 .../{_3_4_6 => _3_5_0}/t-v2d0-partial.json         |   0
 .../io/graphson/{_3_4_6 => _3_5_0}/t-v3d0.json     |   0
 .../{_3_4_6 => _3_5_0}/textp-v2d0-partial.json     |   0
 .../io/graphson/{_3_4_6 => _3_5_0}/textp-v3d0.json |   0
 .../{_3_4_6 => _3_5_0}/timestamp-v2d0-partial.json |   0
 .../{_3_4_6 => _3_5_0}/timestamp-v3d0.json         |   0
 .../{_3_4_6 => _3_5_0}/tinkergraph-v1d0.json       |   0
 .../tinkergraph-v2d0-no-types.json                 |   0
 .../tinkergraph-v2d0-partial.json                  |   0
 .../{_3_4_6 => _3_5_0}/tinkergraph-v3d0.json       |   0
 .../traversalmetrics-v2d0-partial.json             |   0
 .../{_3_4_6 => _3_5_0}/traversalmetrics-v3d0.json  |   0
 .../{_3_4_6 => _3_5_0}/traverser-v2d0-partial.json |   0
 .../{_3_4_6 => _3_5_0}/traverser-v3d0.json         |   0
 .../{_3_4_6 => _3_5_0}/uuid-v2d0-no-types.json     |   0
 .../{_3_4_6 => _3_5_0}/uuid-v2d0-partial.json      |   0
 .../io/graphson/{_3_4_6 => _3_5_0}/uuid-v3d0.json  |   0
 .../graphson/{_3_4_6 => _3_5_0}/vertex-v1d0.json   |   0
 .../{_3_4_6 => _3_5_0}/vertex-v2d0-no-types.json   |   0
 .../{_3_4_6 => _3_5_0}/vertex-v2d0-partial.json    |   0
 .../graphson/{_3_4_6 => _3_5_0}/vertex-v3d0.json   |   0
 .../{_3_4_6 => _3_5_0}/vertexproperty-v1d0.json    |   0
 .../vertexproperty-v2d0-no-types.json              |   0
 .../vertexproperty-v2d0-partial.json               |   0
 .../{_3_4_6 => _3_5_0}/vertexproperty-v3d0.json    |   0
 .../{_3_4_6 => _3_5_0}/year-v2d0-partial.json      |   0
 .../io/graphson/{_3_4_6 => _3_5_0}/year-v3d0.json  |   0
 .../{_3_4_6 => _3_5_0}/yearmonth-v2d0-partial.json |   0
 .../{_3_4_6 => _3_5_0}/yearmonth-v3d0.json         |   0
 .../zoneddatetime-v2d0-partial.json                |   0
 .../{_3_4_6 => _3_5_0}/zoneddatetime-v3d0.json     |   0
 .../zoneoffset-v2d0-partial.json                   |   0
 .../{_3_4_6 => _3_5_0}/zoneoffset-v3d0.json        |   0
 .../authenticationchallenge-v3d0.kryo              | Bin
 .../authenticationresponse-v3d0.kryo               |   0
 .../io/gryo/{_3_4_6 => _3_5_0}/barrier-v1d0.kryo   |   0
 .../io/gryo/{_3_4_6 => _3_5_0}/barrier-v3d0.kryo   |   0
 .../gryo/{_3_4_6 => _3_5_0}/bigdecimal-v1d0.kryo   | Bin
 .../gryo/{_3_4_6 => _3_5_0}/bigdecimal-v3d0.kryo   | Bin
 .../gryo/{_3_4_6 => _3_5_0}/biginteger-v1d0.kryo   |   0
 .../gryo/{_3_4_6 => _3_5_0}/biginteger-v3d0.kryo   |   0
 .../io/gryo/{_3_4_6 => _3_5_0}/binding-v1d0.kryo   |   0
 .../io/gryo/{_3_4_6 => _3_5_0}/binding-v3d0.kryo   |   0
 .../io/gryo/{_3_4_6 => _3_5_0}/bulkset-v1d0.kryo   |   0
 .../io/gryo/{_3_4_6 => _3_5_0}/bulkset-v3d0.kryo   |   0
 .../io/gryo/{_3_4_6 => _3_5_0}/byte-v1d0.kryo      |   0
 .../io/gryo/{_3_4_6 => _3_5_0}/byte-v3d0.kryo      |   0
 .../gryo/{_3_4_6 => _3_5_0}/bytebuffer-v1d0.kryo   | Bin
 .../gryo/{_3_4_6 => _3_5_0}/bytebuffer-v3d0.kryo   | Bin
 .../io/gryo/{_3_4_6 => _3_5_0}/bytecode-v1d0.kryo  | Bin
 .../io/gryo/{_3_4_6 => _3_5_0}/bytecode-v3d0.kryo  | Bin
 .../gryo/{_3_4_6 => _3_5_0}/cardinality-v1d0.kryo  |   0
 .../gryo/{_3_4_6 => _3_5_0}/cardinality-v3d0.kryo  |   0
 .../io/gryo/{_3_4_6 => _3_5_0}/char-v1d0.kryo      | Bin
 .../io/gryo/{_3_4_6 => _3_5_0}/char-v3d0.kryo      | Bin
 .../io/gryo/{_3_4_6 => _3_5_0}/class-v1d0.kryo     |   0
 .../io/gryo/{_3_4_6 => _3_5_0}/class-v3d0.kryo     |   0
 .../io/gryo/{_3_4_6 => _3_5_0}/column-v1d0.kryo    |   0
 .../io/gryo/{_3_4_6 => _3_5_0}/column-v3d0.kryo    |   0
 .../io/gryo/{_3_4_6 => _3_5_0}/date-v1d0.kryo      |   0
 .../io/gryo/{_3_4_6 => _3_5_0}/date-v3d0.kryo      |   0
 .../io/gryo/{_3_4_6 => _3_5_0}/direction-v1d0.kryo |   0
 .../io/gryo/{_3_4_6 => _3_5_0}/direction-v3d0.kryo |   0
 .../io/gryo/{_3_4_6 => _3_5_0}/double-v1d0.kryo    | Bin
 .../io/gryo/{_3_4_6 => _3_5_0}/double-v3d0.kryo    | Bin
 .../io/gryo/{_3_4_6 => _3_5_0}/duration-v1d0.kryo  | Bin
 .../io/gryo/{_3_4_6 => _3_5_0}/duration-v3d0.kryo  | Bin
 .../io/gryo/{_3_4_6 => _3_5_0}/edge-v1d0.kryo      | Bin
 .../io/gryo/{_3_4_6 => _3_5_0}/edge-v3d0.kryo      | Bin
 .../io/gryo/{_3_4_6 => _3_5_0}/float-v1d0.kryo     | Bin
 .../io/gryo/{_3_4_6 => _3_5_0}/float-v3d0.kryo     | Bin
 .../gryo/{_3_4_6 => _3_5_0}/inetaddress-v1d0.kryo  |   0
 .../gryo/{_3_4_6 => _3_5_0}/inetaddress-v3d0.kryo  |   0
 .../io/gryo/{_3_4_6 => _3_5_0}/instant-v1d0.kryo   | Bin
 .../io/gryo/{_3_4_6 => _3_5_0}/instant-v3d0.kryo   | Bin
 .../io/gryo/{_3_4_6 => _3_5_0}/integer-v1d0.kryo   |   0
 .../io/gryo/{_3_4_6 => _3_5_0}/integer-v3d0.kryo   |   0
 .../io/gryo/{_3_4_6 => _3_5_0}/lambda-v1d0.kryo    | Bin
 .../io/gryo/{_3_4_6 => _3_5_0}/lambda-v3d0.kryo    | Bin
 .../io/gryo/{_3_4_6 => _3_5_0}/localdate-v1d0.kryo | Bin
 .../io/gryo/{_3_4_6 => _3_5_0}/localdate-v3d0.kryo | Bin
 .../{_3_4_6 => _3_5_0}/localdatetime-v1d0.kryo     | Bin
 .../{_3_4_6 => _3_5_0}/localdatetime-v3d0.kryo     | Bin
 .../io/gryo/{_3_4_6 => _3_5_0}/localtime-v1d0.kryo | Bin
 .../io/gryo/{_3_4_6 => _3_5_0}/localtime-v3d0.kryo | Bin
 .../io/gryo/{_3_4_6 => _3_5_0}/long-v1d0.kryo      |   0
 .../io/gryo/{_3_4_6 => _3_5_0}/long-v3d0.kryo      |   0
 .../io/gryo/{_3_4_6 => _3_5_0}/metrics-v1d0.kryo   | Bin
 .../io/gryo/{_3_4_6 => _3_5_0}/metrics-v3d0.kryo   | Bin
 .../io/gryo/{_3_4_6 => _3_5_0}/monthday-v1d0.kryo  | Bin
 .../io/gryo/{_3_4_6 => _3_5_0}/monthday-v3d0.kryo  | Bin
 .../{_3_4_6 => _3_5_0}/offsetdatetime-v1d0.kryo    | Bin
 .../{_3_4_6 => _3_5_0}/offsetdatetime-v3d0.kryo    | Bin
 .../gryo/{_3_4_6 => _3_5_0}/offsettime-v1d0.kryo   | Bin
 .../gryo/{_3_4_6 => _3_5_0}/offsettime-v3d0.kryo   | Bin
 .../io/gryo/{_3_4_6 => _3_5_0}/operator-v1d0.kryo  |   0
 .../io/gryo/{_3_4_6 => _3_5_0}/operator-v3d0.kryo  |   0
 .../{_3_4_6/t-v3d0.kryo => _3_5_0/order-v1d0.kryo} |   0
 .../{_3_4_6/t-v3d0.kryo => _3_5_0/order-v3d0.kryo} |   0
 .../io/gryo/{_3_4_6 => _3_5_0}/p-v1d0.kryo         | Bin
 .../io/gryo/{_3_4_6 => _3_5_0}/p-v3d0.kryo         | Bin
 .../io/gryo/{_3_4_6 => _3_5_0}/pand-v1d0.kryo      | Bin
 .../io/gryo/{_3_4_6 => _3_5_0}/pand-v3d0.kryo      | Bin
 .../io/gryo/{_3_4_6 => _3_5_0}/path-v1d0.kryo      | Bin
 .../io/gryo/{_3_4_6 => _3_5_0}/path-v3d0.kryo      | Bin
 .../io/gryo/{_3_4_6 => _3_5_0}/period-v1d0.kryo    | Bin
 .../io/gryo/{_3_4_6 => _3_5_0}/period-v3d0.kryo    | Bin
 .../io/gryo/{_3_4_6 => _3_5_0}/pick-v1d0.kryo      |   0
 .../io/gryo/{_3_4_6 => _3_5_0}/pick-v3d0.kryo      |   0
 .../io/gryo/{_3_4_6 => _3_5_0}/pop-v1d0.kryo       |   0
 .../io/gryo/{_3_4_6 => _3_5_0}/pop-v3d0.kryo       |   0
 .../io/gryo/{_3_4_6 => _3_5_0}/por-v1d0.kryo       | Bin
 .../io/gryo/{_3_4_6 => _3_5_0}/por-v3d0.kryo       | Bin
 .../io/gryo/{_3_4_6 => _3_5_0}/property-v1d0.kryo  |   0
 .../io/gryo/{_3_4_6 => _3_5_0}/property-v3d0.kryo  |   0
 .../io/gryo/{_3_4_6 => _3_5_0}/pwithin-v1d0.kryo   | Bin
 .../io/gryo/{_3_4_6 => _3_5_0}/pwithin-v3d0.kryo   | Bin
 .../io/gryo/{_3_4_6 => _3_5_0}/pwithout-v1d0.kryo  | Bin
 .../io/gryo/{_3_4_6 => _3_5_0}/pwithout-v3d0.kryo  | Bin
 .../io/gryo/{_3_4_6 => _3_5_0}/scope-v1d0.kryo     |   0
 .../io/gryo/{_3_4_6 => _3_5_0}/scope-v3d0.kryo     |   0
 .../gryo/{_3_4_6 => _3_5_0}/sessionclose-v3d0.kryo |   0
 .../gryo/{_3_4_6 => _3_5_0}/sessioneval-v3d0.kryo  |   0
 .../sessionevalaliased-v3d0.kryo                   |   0
 .../{_3_4_6 => _3_5_0}/sessionlesseval-v3d0.kryo   |   0
 .../sessionlessevalaliased-v3d0.kryo               |   0
 .../io/gryo/{_3_4_6 => _3_5_0}/short-v1d0.kryo     | Bin
 .../io/gryo/{_3_4_6 => _3_5_0}/short-v3d0.kryo     | Bin
 .../{_3_4_6 => _3_5_0}/standardresult-v3d0.kryo    | Bin
 .../io/gryo/{_3_4_6 => _3_5_0}/stargraph-v1d0.kryo | Bin
 .../io/gryo/{_3_4_6 => _3_5_0}/stargraph-v3d0.kryo | Bin
 .../io/gryo/{_3_4_6 => _3_5_0}/t-v1d0.kryo         |   0
 .../io/gryo/{_3_4_6 => _3_5_0}/t-v3d0.kryo         |   0
 .../io/gryo/{_3_4_6 => _3_5_0}/textp-v1d0.kryo     |   0
 .../io/gryo/{_3_4_6 => _3_5_0}/textp-v3d0.kryo     |   0
 .../io/gryo/{_3_4_6 => _3_5_0}/timestamp-v1d0.kryo |   0
 .../io/gryo/{_3_4_6 => _3_5_0}/timestamp-v3d0.kryo |   0
 .../gryo/{_3_4_6 => _3_5_0}/tinkergraph-v1d0.kryo  | Bin
 .../gryo/{_3_4_6 => _3_5_0}/tinkergraph-v3d0.kryo  | Bin
 .../{_3_4_6 => _3_5_0}/traversalmetrics-v1d0.kryo  | Bin
 .../{_3_4_6 => _3_5_0}/traversalmetrics-v3d0.kryo  | Bin
 .../io/gryo/{_3_4_6 => _3_5_0}/traverser-v1d0.kryo | Bin
 .../io/gryo/{_3_4_6 => _3_5_0}/traverser-v3d0.kryo | Bin
 .../io/gryo/{_3_4_6 => _3_5_0}/tree-v1d0.kryo      | Bin
 .../io/gryo/{_3_4_6 => _3_5_0}/tree-v3d0.kryo      | Bin
 .../io/gryo/{_3_4_6 => _3_5_0}/uuid-v1d0.kryo      |   0
 .../io/gryo/{_3_4_6 => _3_5_0}/uuid-v3d0.kryo      |   0
 .../io/gryo/{_3_4_6 => _3_5_0}/vertex-v1d0.kryo    | Bin
 .../io/gryo/{_3_4_6 => _3_5_0}/vertex-v3d0.kryo    | Bin
 .../{_3_4_6 => _3_5_0}/vertexproperty-v1d0.kryo    | Bin
 .../{_3_4_6 => _3_5_0}/vertexproperty-v3d0.kryo    | Bin
 .../io/gryo/{_3_4_6 => _3_5_0}/year-v1d0.kryo      | Bin
 .../io/gryo/{_3_4_6 => _3_5_0}/year-v3d0.kryo      | Bin
 .../io/gryo/{_3_4_6 => _3_5_0}/yearmonth-v1d0.kryo | Bin
 .../io/gryo/{_3_4_6 => _3_5_0}/yearmonth-v3d0.kryo | Bin
 .../{_3_4_6 => _3_5_0}/zoneddatetime-v1d0.kryo     | Bin
 .../{_3_4_6 => _3_5_0}/zoneddatetime-v3d0.kryo     | Bin
 .../gryo/{_3_4_6 => _3_5_0}/zoneoffset-v1d0.kryo   |   0
 .../gryo/{_3_4_6 => _3_5_0}/zoneoffset-v3d0.kryo   |   0
 gremlin-tools/pom.xml                              |   2 +-
 hadoop-gremlin/pom.xml                             |  13 +-
 .../hadoop/process/computer/HadoopCombine.java     |   2 +-
 .../gremlin/hadoop/process/computer/HadoopMap.java |   2 +-
 .../hadoop/process/computer/HadoopReduce.java      |   2 +-
 .../process/computer/util/MapReduceHelper.java     |   3 +-
 .../hadoop/structure/HadoopConfiguration.java      |  33 +-
 .../gremlin/hadoop/structure/HadoopGraph.java      |  11 +-
 .../hadoop/structure/io/FileSystemStorage.java     |   4 +-
 .../hadoop/structure/io/GraphFilterAware.java      |   2 +-
 .../hadoop/structure/io/HadoopPoolShimService.java |   2 +-
 .../gremlin/hadoop/structure/io/HadoopPools.java   |   4 +-
 .../hadoop/structure/io/InputOutputHelper.java     |   4 +-
 .../structure/io/ObjectWritableComparator.java     |   4 +-
 .../gremlin/hadoop/structure/util/ConfUtil.java    |   9 +-
 neo4j-gremlin/pom.xml                              |  41 +-
 .../traversal/step/sideEffect/Neo4jGraphStep.java  |  64 +-
 .../gremlin/neo4j/structure/Neo4jEdge.java         |   6 +
 .../gremlin/neo4j/structure/Neo4jGraph.java        |  77 +--
 .../gremlin/neo4j/structure/Neo4jVertex.java       |  47 +-
 .../neo4j/structure/Neo4jVertexProperty.java       |  10 +-
 .../neo4j/structure/trait/MultiMetaNeo4jTrait.java | 306 ----------
 .../gremlin/neo4j/structure/trait/Neo4jTrait.java  |  74 ---
 .../structure/trait/NoMultiNoMetaNeo4jTrait.java   | 191 ------
 .../gremlin/neo4j/AbstractNeo4jGraphProvider.java  |  10 +-
 .../gremlin/neo4j/MultiMetaNeo4jGraphProvider.java |  44 --
 ...o4jTest.java => Neo4jGraphNativeNeo4jTest.java} |   6 +-
 ...jGraphProvider.java => Neo4jGraphProvider.java} |   4 +-
 .../NoMultiNoMetaNeo4jGraphNativeNeo4jTest.java    |  33 -
 .../MultiMetaNeo4jGraphProcessStandardTest.java    |  36 --
 ...est.java => Neo4jGraphProcessStandardTest.java} |   6 +-
 .../MultiMetaNeo4jGraphStructureStandardTest.java  |  35 --
 .../neo4j/structure/NativeNeo4jIndexCheck.java     |  97 ---
 .../neo4j/structure/NativeNeo4jStructureCheck.java | 200 +------
 ...t.java => Neo4jGraphStructureStandardTest.java} |   6 +-
 pom.xml                                            |  33 +-
 spark-gremlin/pom.xml                              |   2 +-
 .../spark/process/computer/SparkExecutor.java      |   2 +-
 .../spark/process/computer/SparkGraphComputer.java |  12 +-
 .../interceptor/SparkStarBarrierInterceptor.java   |   2 +-
 .../tinkerpop/gremlin/spark/structure/Spark.java   |   2 +-
 .../gremlin/spark/structure/io/InputFormatRDD.java |   2 +-
 .../spark/structure/io/InputOutputHelper.java      |   4 +-
 .../gremlin/spark/structure/io/InputRDD.java       |   2 +-
 .../spark/structure/io/OutputFormatRDD.java        |   2 +-
 .../gremlin/spark/structure/io/OutputRDD.java      |   2 +-
 .../spark/structure/io/PersistedInputRDD.java      |   2 +-
 .../spark/structure/io/PersistedOutputRDD.java     |   2 +-
 .../spark/structure/io/SparkContextStorage.java    |   4 +-
 .../spark/structure/io/gryo/GryoSerializer.java    |   5 +-
 .../kryoshim/unshaded/UnshadedKryoShimService.java |   2 +-
 .../tinkerpop/gremlin/spark/AbstractSparkTest.java |   5 +-
 .../spark/process/computer/LocalPropertyTest.java  |   4 +-
 .../optimization/SparkInterceptorStrategyTest.java |  10 +-
 .../SparkSingleIterationStrategyTest.java          |  14 +-
 .../gremlin/spark/structure/SparkTest.java         |   4 +-
 .../spark/structure/io/ExampleInputRDD.java        |   2 +-
 .../spark/structure/io/ExampleOutputRDD.java       |   2 +-
 .../spark/structure/io/InputOutputRDDTest.java     |   4 +-
 .../gremlin/spark/structure/io/InputRDDTest.java   |   4 +-
 .../gremlin/spark/structure/io/OutputRDDTest.java  |   4 +-
 .../io/PersistedInputOutputRDDIntegrateTest.java   |  86 +--
 .../spark/structure/io/ToyGraphInputRDD.java       |   2 +-
 .../io/gryo/GryoSerializerIntegrateTest.java       |   2 +-
 sparql-gremlin/pom.xml                             |   4 +-
 .../gremlin/sparql/SparqlToGremlinCompiler.java    |   2 +-
 .../dsl/sparql/SparqlTraversalSource.java          |  21 -
 .../process/traversal/strategy/SparqlStrategy.java |   2 +-
 tinkergraph-gremlin/pom.xml                        |   2 +-
 .../optimization/TinkerGraphCountStrategy.java     |   7 +-
 .../gremlin/tinkergraph/structure/TinkerEdge.java  |   8 +
 .../tinkergraph/structure/TinkerFactory.java       |   4 +-
 .../gremlin/tinkergraph/structure/TinkerGraph.java |  22 +-
 .../gremlin/tinkergraph/structure/TinkerIndex.java |  48 +-
 .../structure/TinkerIoRegistryV1d0.java            |   4 +-
 .../structure/TinkerIoRegistryV2d0.java            |   4 +-
 .../structure/TinkerIoRegistryV3d0.java            |   4 +-
 .../tinkergraph/structure/TinkerProperty.java      |   5 +-
 .../tinkergraph/structure/TinkerVertex.java        |  12 +
 .../structure/TinkerVertexProperty.java            |  22 +-
 .../gremlin/tinkergraph/TinkerGraphProvider.java   |   2 +-
 .../process/TinkerGraphComputerProvider.java       |   2 +-
 .../decoration/HaltedTraverserStrategyTest.java    |   2 +-
 .../strategy/decoration/OptionsStrategyTest.java   |   4 +-
 .../structure/TinkerGraphIdManagerTest.java        |   4 +-
 .../tinkergraph/structure/TinkerGraphTest.java     |   5 +-
 ...tractTinkerGraphGraphSONTranslatorProvider.java |   4 -
 .../io/gryo/TinkerGraphGryoTranslatorProvider.java |   4 -
 934 files changed, 5352 insertions(+), 11592 deletions(-)
 create mode 100644 .asf.yaml
 create mode 100644 .dependabot/config.yml
 create mode 100644 docs/src/upgrade/release-3.5.x.asciidoc
 create mode 100644 docs/static/images/gremlin-sleeping-beauty.png
 delete mode 100644 gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/bulkdumping/BulkDumperVertexProgram.java
 delete mode 100644 gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/bulkloading/BulkLoader.java
 delete mode 100644 gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/bulkloading/BulkLoaderVertexProgram.java
 delete mode 100644 gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/bulkloading/IncrementalBulkLoader.java
 delete mode 100644 gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/bulkloading/OneTimeBulkLoader.java
 delete mode 100644 gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/remote/traversal/AbstractRemoteTraversalSideEffects.java
 delete mode 100644 gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/remote/traversal/EmbeddedRemoteTraversalSideEffects.java
 delete mode 100644 gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/remote/traversal/RemoteTraversalSideEffects.java
 create mode 100644 gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/Script.java
 rename gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/lambda/{ElementValueTraversal.java => ValueTraversal.java} (66%)
 copy gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/{MapStep.java => ScalarMapStep.java} (73%)
 rename gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/{AggregateStep.java => AggregateGlobalStep.java} (93%)
 rename gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/{StoreStep.java => AggregateLocalStep.java} (91%)
 delete mode 100644 gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/config/YamlConfiguration.java
 delete 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/lambda/ValueTraversalTest.java
 create mode 100644 gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddVertexStepTest.java
 rename gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/{AggregateStepTest.java => AggregateGlobalStepTest.java} (96%)
 rename gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/{StoreStepTest.java => AggregateLocalStepTest.java} (96%)
 rename gremlin-dotnet/src/Gremlin.Net/Driver/ResultsAggregation/DefaultAggregator.cs => gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/traverser/util/EmptyTraverserTest.java (60%)
 delete mode 100644 gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/util/config/YamlConfigurationTest.java
 delete mode 100644 gremlin-dotnet/src/Gremlin.Net/Driver/Remote/DriverRemoteTraversalSideEffects.cs
 delete mode 100644 gremlin-dotnet/src/Gremlin.Net/Driver/ResultsAggregation/AggregatorFactory.cs
 delete mode 100644 gremlin-dotnet/src/Gremlin.Net/Driver/ResultsAggregation/DictionaryAggregator.cs
 delete mode 100644 gremlin-dotnet/src/Gremlin.Net/Driver/ResultsAggregation/IAggregator.cs
 delete mode 100644 gremlin-dotnet/src/Gremlin.Net/Driver/ResultsAggregation/TraverserAggregator.cs
 delete mode 100644 gremlin-dotnet/src/Gremlin.Net/Process/Traversal/ITraversalSideEffects.cs
 delete mode 100644 gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Process/Traversal/DriverRemoteConnection/SideEffectTests.cs
 delete mode 100644 gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/handler/NioGremlinRequestEncoder.java
 delete mode 100644 gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/handler/NioGremlinResponseDecoder.java
 delete mode 100644 gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/remote/DriverRemoteTraversalSideEffects.java
 delete mode 100644 gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/simple/NioClient.java
 create mode 100644 gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/MockitoHamcrestMatcherAdapter.java
 delete mode 100644 gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/remote/DriverRemoteTraversalSideEffectsTest.java
 rename gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/python/jsr223/PythonComputerProvider.java => gremlin-groovy/src/test/java/org/apache/tinkerpop/gremlin/groovy/jsr223/ParameterizedGroovyTranslatorComputerProvider.java (77%)
 rename gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/python/jsr223/PythonProcessComputerTest.java => gremlin-groovy/src/test/java/org/apache/tinkerpop/gremlin/groovy/jsr223/ParameterizedGroovyTranslatorProcessComputerTest.java (83%)
 rename gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/python/jsr223/PythonProcessStandardTest.java => gremlin-groovy/src/test/java/org/apache/tinkerpop/gremlin/groovy/jsr223/ParameterizedGroovyTranslatorProcessStandardTest.java (83%)
 copy gremlin-groovy/src/test/java/org/apache/tinkerpop/gremlin/groovy/jsr223/{GroovyTranslatorProvider.java => ParameterizedGroovyTranslatorProvider.java} (97%)
 create mode 100644 gremlin-groovy/src/test/java/org/apache/tinkerpop/gremlin/groovy/jsr223/ParameterizedGroovyTranslatorTest.java
 delete mode 100644 gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/GremlinJythonScriptEngine.java
 delete mode 100644 gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/GremlinJythonScriptEngineFactory.java
 delete mode 100644 gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/JythonTranslator.java
 delete mode 100644 gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/PythonTranslator.java
 delete mode 100644 gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/SymbolHelper.java
 delete mode 100644 gremlin-python/src/main/jython/gremlin_python/driver/remote_connection.py
 rename gremlin-python/src/main/{jython => python}/LICENSE (100%)
 rename gremlin-python/src/main/{jython => python}/MANIFEST.in (100%)
 rename gremlin-python/src/main/{jython => python}/NOTICE (100%)
 rename gremlin-python/src/main/{jython => python}/README.rst (100%)
 rename gremlin-python/src/main/{jython => python}/example.py (100%)
 rename gremlin-python/src/main/{jython/gremlin_python/process => python/gremlin_python}/__init__.py (100%)
 rename gremlin-python/src/main/{jython => python}/gremlin_python/driver/__init__.py (100%)
 rename gremlin-python/src/main/{jython => python}/gremlin_python/driver/client.py (100%)
 rename gremlin-python/src/main/{jython => python}/gremlin_python/driver/connection.py (100%)
 rename gremlin-python/src/main/{jython => python}/gremlin_python/driver/driver_remote_connection.py (83%)
 rename gremlin-python/src/main/{jython => python}/gremlin_python/driver/protocol.py (100%)
 create mode 100644 gremlin-python/src/main/python/gremlin_python/driver/remote_connection.py
 rename gremlin-python/src/main/{jython => python}/gremlin_python/driver/request.py (100%)
 rename gremlin-python/src/main/{jython => python}/gremlin_python/driver/resultset.py (100%)
 rename gremlin-python/src/main/{jython => python}/gremlin_python/driver/serializer.py (94%)
 rename gremlin-python/src/main/{jython => python}/gremlin_python/driver/tornado/__init__.py (100%)
 rename gremlin-python/src/main/{jython => python}/gremlin_python/driver/tornado/transport.py (100%)
 rename gremlin-python/src/main/{jython => python}/gremlin_python/driver/transport.py (100%)
 rename gremlin-python/src/main/{jython/gremlin_python => python/gremlin_python/process}/__init__.py (100%)
 rename gremlin-python/src/main/{jython => python}/gremlin_python/process/anonymous_traversal.py (100%)
 rename gremlin-python/src/main/{jython => python}/gremlin_python/process/graph_traversal.py (100%)
 rename gremlin-python/src/main/{jython => python}/gremlin_python/process/strategies.py (100%)
 rename gremlin-python/src/main/{jython => python}/gremlin_python/process/traversal.py (96%)
 rename gremlin-python/src/main/{jython => python}/gremlin_python/statics.py (81%)
 rename gremlin-python/src/main/{jython/gremlin_python/structure/io => python/gremlin_python/structure}/__init__.py (100%)
 rename gremlin-python/src/main/{jython => python}/gremlin_python/structure/graph.py (100%)
 rename gremlin-python/src/main/{jython/gremlin_python/structure => python/gremlin_python/structure/io}/__init__.py (100%)
 rename gremlin-python/src/main/{jython => python}/gremlin_python/structure/io/graphbinaryV1.py (98%)
 rename gremlin-python/src/main/{jython => python}/gremlin_python/structure/io/graphsonV2d0.py (98%)
 rename gremlin-python/src/main/{jython => python}/gremlin_python/structure/io/graphsonV3d0.py (98%)
 rename gremlin-python/src/main/{jython => python}/radish/feature_steps.py (84%)
 rename gremlin-python/src/main/{jython => python}/radish/terrain.py (99%)
 rename gremlin-python/src/main/{jython => python}/runtest.py (100%)
 rename gremlin-python/src/main/{jython => python}/setup.cfg (100%)
 rename gremlin-python/src/main/{jython => python}/setup.py (97%)
 rename gremlin-python/src/main/{jython/tests/driver => python/tests}/__init__.py (100%)
 rename gremlin-python/src/main/{jython => python}/tests/conftest.py (100%)
 rename gremlin-python/src/main/{jython/tests => python/tests/driver}/__init__.py (100%)
 rename gremlin-python/src/main/{jython => python}/tests/driver/test_client.py (100%)
 rename gremlin-python/src/main/{jython => python}/tests/driver/test_driver_remote_connection.py (68%)
 rename gremlin-python/src/main/{jython => python}/tests/driver/test_driver_remote_connection_threaded.py (100%)
 rename gremlin-python/src/main/{jython => python}/tests/driver/test_serializer.py (100%)
 rename gremlin-python/src/main/{jython/tests/structure/io => python/tests/process}/__init__.py (100%)
 rename gremlin-python/src/main/{jython => python}/tests/process/test_dsl.py (100%)
 rename gremlin-python/src/main/{jython => python}/tests/process/test_strategies.py (100%)
 rename gremlin-python/src/main/{jython => python}/tests/process/test_traversal.py (100%)
 rename gremlin-python/src/main/{jython => python}/tests/structure/__init__.py (100%)
 rename gremlin-python/src/main/{jython/tests/process => python/tests/structure/io}/__init__.py (100%)
 rename gremlin-python/src/main/{jython => python}/tests/structure/io/test_functionalityio.py (89%)
 rename gremlin-python/src/main/{jython => python}/tests/structure/io/test_graphbinaryV1.py (93%)
 rename gremlin-python/src/main/{jython => python}/tests/structure/io/test_graphsonV2d0.py (99%)
 rename gremlin-python/src/main/{jython => python}/tests/structure/io/test_graphsonV3d0.py (99%)
 rename gremlin-python/src/main/{jython => python}/tests/structure/test_graph.py (97%)
 rename gremlin-python/src/main/{jython => python}/tests/test_statics.py (100%)
 delete mode 100644 gremlin-python/src/main/resources/META-INF/services/javax.script.ScriptEngineFactory
 delete mode 100644 gremlin-python/src/main/resources/META-INF/services/org.apache.tinkerpop.gremlin.jsr223.GremlinScriptEngineFactory
 delete mode 100644 gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/python/jsr223/GremlinJythonScriptEngineTest.java
 delete mode 100644 gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/python/jsr223/JythonScriptEngineSetup.java
 delete mode 100644 gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/python/jsr223/JythonTranslatorTest.java
 delete mode 100644 gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/python/jsr223/PythonGraphSONJavaTranslator.java
 delete mode 100644 gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/python/jsr223/PythonGremlinScriptEngineTest.java
 delete mode 100644 gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/python/jsr223/PythonProvider.java
 delete mode 100644 gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/python/structure/io/graphson/GraphSONReaderTest.java
 delete mode 100644 gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/python/structure/io/graphson/GraphSONWriterTest.java
 delete mode 100644 gremlin-python/src/test/resources/log4j-silent.properties
 delete mode 100644 gremlin-python/src/test/resources/log4j-test.properties
 delete mode 100644 gremlin-server/conf/gremlin-server-modern-py.yaml
 delete mode 100644 gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/ResponseHandlerContext.java
 delete mode 100644 gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/channel/NioChannelizer.java
 delete mode 100644 gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/handler/NioGremlinBinaryRequestDecoder.java
 delete mode 100644 gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/handler/NioGremlinResponseFrameEncoder.java
 delete mode 100644 gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/util/SideEffectIterator.java
 delete mode 100644 gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/ResponseHandlerContextTest.java
 delete mode 100644 gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/channel/NioChannelizerIntegrateTest.java
 delete mode 100644 gremlin-server/src/test/resources/client.crt
 delete mode 100644 gremlin-server/src/test/resources/client.key.pk8
 delete mode 100644 gremlin-server/src/test/resources/server.crt
 delete mode 100644 gremlin-server/src/test/resources/server.key.pk8
 delete mode 100644 gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/computer/bulkdumping/BulkDumperVertexProgramTest.java
 delete mode 100644 gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/computer/bulkloading/BulkLoaderVertexProgramTest.java
 delete mode 100644 gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/computer/clustering/peerpressure/PeerPressureVertexProgramTest.java
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/barrier-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/bigdecimal-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/biginteger-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/binding-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/bulkset-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/byte-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/bytebuffer-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/bytecode-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/cardinality-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/char-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/class-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/column-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/date-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/direction-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/double-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/duration-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/edge-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/float-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/inetaddress-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/instant-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/integer-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/lambda-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/list-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/localdate-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/localdatetime-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/localtime-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/long-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/map-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/metrics-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/monthday-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/offsetdatetime-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/offsettime-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/operator-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/order-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/p-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/pand-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/path-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/period-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/pick-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/pop-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/por-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/property-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/pwithin-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/pwithout-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/scope-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/set-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/short-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/t-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/textp-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/timestamp-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/tinkergraph-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/traversalmetrics-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/traverser-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/uuid-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/vertex-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/vertexproperty-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/year-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/yearmonth-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/{_3_4_6 => _3_5_0}/zoneoffset-v1.gbin (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/authenticationchallenge-v1d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/authenticationchallenge-v2d0-no-types.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/authenticationchallenge-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/authenticationchallenge-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/authenticationresponse-v1d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/authenticationresponse-v2d0-no-types.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/authenticationresponse-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/authenticationresponse-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/barrier-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/barrier-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/bigdecimal-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/bigdecimal-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/biginteger-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/biginteger-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/binding-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/binding-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/bulkset-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/bulkset-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/byte-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/byte-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/bytebuffer-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/bytebuffer-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/bytecode-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/bytecode-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/cardinality-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/cardinality-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/char-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/char-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/class-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/class-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/column-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/column-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/date-v2d0-no-types.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/date-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/date-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/direction-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/direction-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/double-v2d0-no-types.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/double-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/double-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/duration-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/duration-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/edge-v1d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/edge-v2d0-no-types.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/edge-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/edge-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/float-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/float-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/inetaddress-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/inetaddress-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/instant-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/instant-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/integer-v2d0-no-types.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/integer-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/integer-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/lambda-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/lambda-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/list-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/localdate-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/localdate-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/localdatetime-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/localdatetime-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/localtime-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/localtime-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/long-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/long-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/map-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/metrics-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/metrics-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/monthday-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/monthday-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/offsetdatetime-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/offsetdatetime-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/offsettime-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/offsettime-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/operator-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/operator-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/order-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/order-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/p-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/p-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/pand-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/pand-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/path-v1d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/path-v2d0-no-types.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/path-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/path-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/period-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/period-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/pick-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/pick-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/pop-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/pop-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/por-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/por-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/property-v1d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/property-v2d0-no-types.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/property-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/property-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/pwithin-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/pwithin-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/pwithout-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/pwithout-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/scope-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/scope-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/sessionclose-v1d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/sessionclose-v2d0-no-types.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/sessionclose-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/sessionclose-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/sessioneval-v1d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/sessioneval-v2d0-no-types.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/sessioneval-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/sessioneval-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/sessionevalaliased-v1d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/sessionevalaliased-v2d0-no-types.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/sessionevalaliased-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/sessionevalaliased-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/sessionlesseval-v1d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/sessionlesseval-v2d0-no-types.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/sessionlesseval-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/sessionlesseval-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/sessionlessevalaliased-v1d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/sessionlessevalaliased-v2d0-no-types.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/sessionlessevalaliased-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/sessionlessevalaliased-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/set-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/short-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/short-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/standardresult-v1d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/standardresult-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/standardresult-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/t-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/t-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/textp-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/textp-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/timestamp-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/timestamp-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/tinkergraph-v1d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/tinkergraph-v2d0-no-types.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/tinkergraph-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/tinkergraph-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/traversalmetrics-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/traversalmetrics-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/traverser-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/traverser-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/uuid-v2d0-no-types.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/uuid-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/uuid-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/vertex-v1d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/vertex-v2d0-no-types.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/vertex-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/vertex-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/vertexproperty-v1d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/vertexproperty-v2d0-no-types.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/vertexproperty-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/vertexproperty-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/year-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/year-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/yearmonth-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/yearmonth-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/zoneddatetime-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/zoneddatetime-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/zoneoffset-v2d0-partial.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/{_3_4_6 => _3_5_0}/zoneoffset-v3d0.json (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/authenticationchallenge-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/authenticationresponse-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/barrier-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/barrier-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/bigdecimal-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/bigdecimal-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/biginteger-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/biginteger-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/binding-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/binding-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/bulkset-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/bulkset-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/byte-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/byte-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/bytebuffer-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/bytebuffer-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/bytecode-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/bytecode-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/cardinality-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/cardinality-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/char-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/char-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/class-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/class-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/column-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/column-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/date-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/date-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/direction-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/direction-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/double-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/double-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/duration-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/duration-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/edge-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/edge-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/float-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/float-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/inetaddress-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/inetaddress-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/instant-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/instant-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/integer-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/integer-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/lambda-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/lambda-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/localdate-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/localdate-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/localdatetime-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/localdatetime-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/localtime-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/localtime-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/long-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/long-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/metrics-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/metrics-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/monthday-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/monthday-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/offsetdatetime-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/offsetdatetime-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/offsettime-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/offsettime-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/operator-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/operator-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6/t-v3d0.kryo => _3_5_0/order-v1d0.kryo} (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6/t-v3d0.kryo => _3_5_0/order-v3d0.kryo} (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/p-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/p-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/pand-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/pand-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/path-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/path-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/period-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/period-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/pick-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/pick-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/pop-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/pop-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/por-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/por-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/property-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/property-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/pwithin-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/pwithin-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/pwithout-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/pwithout-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/scope-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/scope-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/sessionclose-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/sessioneval-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/sessionevalaliased-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/sessionlesseval-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/sessionlessevalaliased-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/short-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/short-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/standardresult-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/stargraph-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/stargraph-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/t-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/t-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/textp-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/textp-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/timestamp-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/timestamp-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/tinkergraph-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/tinkergraph-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/traversalmetrics-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/traversalmetrics-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/traverser-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/traverser-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/tree-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/tree-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/uuid-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/uuid-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/vertex-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/vertex-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/vertexproperty-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/vertexproperty-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/year-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/year-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/yearmonth-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/yearmonth-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/zoneddatetime-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/zoneddatetime-v3d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/zoneoffset-v1d0.kryo (100%)
 copy gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/{_3_4_6 => _3_5_0}/zoneoffset-v3d0.kryo (100%)
 delete mode 100644 neo4j-gremlin/src/main/java/org/apache/tinkerpop/gremlin/neo4j/structure/trait/MultiMetaNeo4jTrait.java
 delete mode 100644 neo4j-gremlin/src/main/java/org/apache/tinkerpop/gremlin/neo4j/structure/trait/Neo4jTrait.java
 delete mode 100644 neo4j-gremlin/src/main/java/org/apache/tinkerpop/gremlin/neo4j/structure/trait/NoMultiNoMetaNeo4jTrait.java
 delete mode 100644 neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/MultiMetaNeo4jGraphProvider.java
 rename neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/{MultiMetaNeo4jGraphNativeNeo4jTest.java => Neo4jGraphNativeNeo4jTest.java} (80%)
 rename neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/{NoMultiNoMetaNeo4jGraphProvider.java => Neo4jGraphProvider.java} (89%)
 delete mode 100644 neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/NoMultiNoMetaNeo4jGraphNativeNeo4jTest.java
 delete mode 100644 neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/process/MultiMetaNeo4jGraphProcessStandardTest.java
 rename neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/process/{NoMultiNoMetaNeo4jGraphProcessStandardTest.java => Neo4jGraphProcessStandardTest.java} (83%)
 delete mode 100644 neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/structure/MultiMetaNeo4jGraphStructureStandardTest.java
 rename neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/structure/{NoMultiNoMetaNeo4jGraphStructureStandardTest.java => Neo4jGraphStructureStandardTest.java} (83%)


[tinkerpop] 01/01: TINKERPOP-2288 Replace closed connections directly

Posted by fl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 242884b6df8e84bae83b3544b0c42fcddea270a2
Author: Florian Hockmann <fh...@florian-hockmann.de>
AuthorDate: Tue Mar 10 16:27:42 2020 +0100

    TINKERPOP-2288 Replace closed connections directly
    
    Closed connections are now replaced automatically in the background.
    If no open connection is available to answer a request, then the pool
    tries it again after some time. It uses a retry policy with exponential
    backoff for that, implemented with Polly.
    This change also ensures that only one task performs a pool resizing
    operation at a time.
    
    These changes should ensure that:
    - A connection is still returned quickly if one is available.
    - Closed connections are replaced immediately, without needing to wait
     for the next incoming request.
    - If the server is only unavailable temporarily (or it just closed
    open connections for some reason), then the user should should not get
    an exception.
    He only has to wait until the connections are replaced.
    
    TODO:
    - Make the retry policy configurable.
    - Document changes.
---
 gremlin-dotnet/glv/Gremlin.Net.csproj.template     |   5 +-
 .../src/Gremlin.Net/Driver/ConnectionFactory.cs    |   4 +-
 .../src/Gremlin.Net/Driver/ConnectionPool.cs       | 118 +++++++++----
 .../src/Gremlin.Net/Driver/GremlinClient.cs        |   2 +-
 .../src/Gremlin.Net/Driver/IConnection.cs          |   4 +
 .../{IConnection.cs => IConnectionFactory.cs}      |   9 +-
 .../src/Gremlin.Net/Driver/ProxyConnection.cs      |  26 ++-
 gremlin-dotnet/src/Gremlin.Net/Gremlin.Net.csproj  |   5 +-
 .../src/Gremlin.Net/Properties/AssemblyInfo.cs     |   3 +-
 .../Driver/ConnectionPoolTests.cs                  | 193 +++++++++++++++++++++
 10 files changed, 315 insertions(+), 54 deletions(-)

diff --git a/gremlin-dotnet/glv/Gremlin.Net.csproj.template b/gremlin-dotnet/glv/Gremlin.Net.csproj.template
index a6a57a3..d7bac7e 100644
--- a/gremlin-dotnet/glv/Gremlin.Net.csproj.template
+++ b/gremlin-dotnet/glv/Gremlin.Net.csproj.template
@@ -63,11 +63,12 @@ NOTE that versions suffixed with "-rc" are considered release candidates (i.e. p
     <PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0" PrivateAssets="All"/>
     <PackageReference Include="Newtonsoft.Json" Version="11.0.2" />
     <PackageReference Include="Microsoft.CSharp" Version="4.3.0" />
+    <PackageReference Include="Polly" Version="7.2.0" />
   </ItemGroup>
 
   <ItemGroup>
-    <None Include="../../LICENSE" Pack="true" PackagePath=""/>
-    <None Include="../../NOTICE" Pack="true" PackagePath=""/>
+    <None Include="../../LICENSE" Pack="true" PackagePath="" />
+    <None Include="../../NOTICE" Pack="true" PackagePath="" />
   </ItemGroup>
 
 </Project>
diff --git a/gremlin-dotnet/src/Gremlin.Net/Driver/ConnectionFactory.cs b/gremlin-dotnet/src/Gremlin.Net/Driver/ConnectionFactory.cs
index 7a6c2d5..c59aba7 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Driver/ConnectionFactory.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Driver/ConnectionFactory.cs
@@ -27,7 +27,7 @@ using Gremlin.Net.Structure.IO.GraphSON;
 
 namespace Gremlin.Net.Driver
 {
-    internal class ConnectionFactory
+    internal class ConnectionFactory : IConnectionFactory
     {
         private readonly GraphSONReader _graphSONReader;
         private readonly GraphSONWriter _graphSONWriter;
@@ -45,7 +45,7 @@ namespace Gremlin.Net.Driver
             _webSocketConfiguration = webSocketConfiguration;
         }
 
-        public Connection CreateConnection()
+        public IConnection CreateConnection()
         {
             return new Connection(_gremlinServer.Uri, _gremlinServer.Username, _gremlinServer.Password, _graphSONReader,
                                  _graphSONWriter, _mimeType, _webSocketConfiguration);
diff --git a/gremlin-dotnet/src/Gremlin.Net/Driver/ConnectionPool.cs b/gremlin-dotnet/src/Gremlin.Net/Driver/ConnectionPool.cs
index 34bc77f..8b558aa 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Driver/ConnectionPool.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Driver/ConnectionPool.cs
@@ -22,11 +22,13 @@
 #endregion
 
 using System;
+using System.Collections.Concurrent;
 using System.Collections.Generic;
 using System.Threading;
 using System.Threading.Tasks;
 using Gremlin.Net.Driver.Exceptions;
 using Gremlin.Net.Process;
+using Polly;
 
 namespace Gremlin.Net.Driver
 {
@@ -34,8 +36,11 @@ namespace Gremlin.Net.Driver
     {
         private const int ConnectionIndexOverflowLimit = int.MaxValue - 1000000;
         
-        private readonly ConnectionFactory _connectionFactory;
-        private readonly CopyOnWriteCollection<Connection> _connections = new CopyOnWriteCollection<Connection>();
+        private readonly IConnectionFactory _connectionFactory;
+        private readonly CopyOnWriteCollection<IConnection> _connections = new CopyOnWriteCollection<IConnection>();
+
+        private readonly ConcurrentDictionary<IConnection, byte> _deadConnections =
+            new ConcurrentDictionary<IConnection, byte>();
         private readonly int _poolSize;
         private readonly int _maxInProcessPerConnection;
         private int _connectionIndex;
@@ -43,53 +48,84 @@ namespace Gremlin.Net.Driver
         private const int PoolIdle = 0;
         private const int PoolPopulationInProgress = 1;
 
-        public ConnectionPool(ConnectionFactory connectionFactory, ConnectionPoolSettings settings)
+        public ConnectionPool(IConnectionFactory connectionFactory, ConnectionPoolSettings settings)
         {
             _connectionFactory = connectionFactory;
             _poolSize = settings.PoolSize;
             _maxInProcessPerConnection = settings.MaxInProcessPerConnection;
-            PopulatePoolAsync().WaitUnwrap();
+            ReplaceDeadConnectionsAsync().WaitUnwrap();
         }
         
         public int NrConnections => _connections.Count;
 
-        public async Task<IConnection> GetAvailableConnectionAsync()
+        public IConnection GetAvailableConnection()
         {
-            await EnsurePoolIsPopulatedAsync().ConfigureAwait(false);
-            return ProxiedConnection(GetConnectionFromPool());
+            var connection = Policy.Handle<ServerUnavailableException>()
+                .WaitAndRetry(3, attempt => TimeSpan.FromSeconds(Math.Pow(2, attempt)))
+                .Execute(GetConnectionFromPool);
+
+            return ProxiedConnection(connection);
         }
 
-        private async Task EnsurePoolIsPopulatedAsync()
+        /// <summary>
+        ///     Replaces dead connections.
+        /// </summary>
+        /// <returns>True if the pool was repaired, false if repairing was not necessary.</returns>
+        private async Task<bool> EnsurePoolIsHealthyAsync()
         {
-            // The pool could have been (partially) empty because of connection problems. So, we need to populate it again.
-            if (_poolSize <= NrConnections) return;
+            if (_deadConnections.IsEmpty) return false;
             var poolState = Interlocked.CompareExchange(ref _poolState, PoolPopulationInProgress, PoolIdle);
-            if (poolState == PoolPopulationInProgress) return;
+            if (poolState == PoolPopulationInProgress) return false;
             try
             {
-                await PopulatePoolAsync().ConfigureAwait(false);
+                await ReplaceDeadConnectionsAsync().ConfigureAwait(false);
             }
             finally
             {
                 // We need to remove the PoolPopulationInProgress flag again even if an exception occurred, so we don't block the pool population for ever
                 Interlocked.CompareExchange(ref _poolState, PoolIdle, PoolPopulationInProgress);
             }
+
+            return true;
+        }
+        
+        private async Task ReplaceDeadConnectionsAsync()
+        {
+            RemoveDeadConnections();
+
+            await FillPoolAsync();
+        }
+
+        private void RemoveDeadConnections()
+        {
+            if (_deadConnections.IsEmpty) return;
+            
+            foreach (var deadConnection in _deadConnections.Keys)
+            {
+                if (_connections.TryRemove(deadConnection))
+                {
+                    DefinitelyDestroyConnection(deadConnection);
+                }
+            }
+
+            _deadConnections.Clear();
         }
         
-        private async Task PopulatePoolAsync()
+        private async Task FillPoolAsync()
         {
             var nrConnectionsToCreate = _poolSize - _connections.Count;
-            var connectionCreationTasks = new List<Task<Connection>>(nrConnectionsToCreate);
+            var connectionCreationTasks = new List<Task<IConnection>>(nrConnectionsToCreate);
             try
             {
                 for (var i = 0; i < nrConnectionsToCreate; i++)
                 {
                     connectionCreationTasks.Add(CreateNewConnectionAsync());
                 }
+
                 var createdConnections = await Task.WhenAll(connectionCreationTasks).ConfigureAwait(false);
                 _connections.AddRange(createdConnections);
             }
-            catch(Exception)
+            catch (Exception)
             {
                 // Dispose created connections if the connection establishment failed
                 foreach (var creationTask in connectionCreationTasks)
@@ -97,42 +133,45 @@ namespace Gremlin.Net.Driver
                     if (!creationTask.IsFaulted)
                         creationTask.Result?.Dispose();
                 }
+
                 throw;
             }
         }
-        
-        private async Task<Connection> CreateNewConnectionAsync()
+
+        private async Task<IConnection> CreateNewConnectionAsync()
         {
             var newConnection = _connectionFactory.CreateConnection();
             await newConnection.ConnectAsync().ConfigureAwait(false);
             return newConnection;
         }
 
-        private Connection GetConnectionFromPool()
+        private IConnection GetConnectionFromPool()
         {
             var connections = _connections.Snapshot;
             if (connections.Length == 0) throw new ServerUnavailableException();
             return TryGetAvailableConnection(connections);
         }
-
-        private Connection TryGetAvailableConnection(Connection[] connections)
+        
+        private IConnection TryGetAvailableConnection(IConnection[] connections)
         {
             var index = Interlocked.Increment(ref _connectionIndex);
             ProtectIndexFromOverflowing(index);
 
+            var closedConnections = 0;
             for (var i = 0; i < connections.Length; i++)
             {
                 var connection = connections[(index + i) % connections.Length];
                 if (connection.NrRequestsInFlight >= _maxInProcessPerConnection) continue;
                 if (!connection.IsOpen)
                 {
-                    RemoveConnectionFromPool(connection);
+                    ReplaceConnection(connection);
+                    closedConnections++;
                     continue;
                 }
                 return connection;
             }
 
-            if (connections.Length > 0) 
+            if (connections.Length > closedConnections) 
             {
                 throw new ConnectionPoolBusyException(_poolSize, _maxInProcessPerConnection);
             }
@@ -148,26 +187,39 @@ namespace Gremlin.Net.Driver
                 Interlocked.Exchange(ref _connectionIndex, 0);
         }
 
-        private void RemoveConnectionFromPool(Connection connection)
+        private void ReplaceConnection(IConnection connection)
         {
-            if (_connections.TryRemove(connection))
-                DefinitelyDestroyConnection(connection);
+            RemoveConnectionFromPool(connection);
+            TriggerReplacementOfDeadConnections();
         }
         
-        private IConnection ProxiedConnection(Connection connection)
+        private void RemoveConnectionFromPool(IConnection connection)
         {
-            return new ProxyConnection(connection, ReturnConnectionIfOpen);
+            _deadConnections.TryAdd(connection, 0);
         }
 
-        private void ReturnConnectionIfOpen(Connection connection)
+        private void TriggerReplacementOfDeadConnections()
         {
-            if (connection.IsOpen) return;
-            ConsiderUnavailable();
+            ReplaceClosedConnectionsAsync().Forget();
         }
 
-        private void ConsiderUnavailable()
+        private async Task ReplaceClosedConnectionsAsync()
         {
-            CloseAndRemoveAllConnectionsAsync().WaitUnwrap();
+            var poolWasPopulated = await EnsurePoolIsHealthyAsync().ConfigureAwait(false);
+            // Another connection could have been removed already, check if another population is necessary
+            if (poolWasPopulated)
+                await ReplaceClosedConnectionsAsync().ConfigureAwait(false);
+        }
+
+        private IConnection ProxiedConnection(IConnection connection)
+        {
+            return new ProxyConnection(connection, ReplaceConnectionIfItWasClosed);
+        }
+
+        private void ReplaceConnectionIfItWasClosed(IConnection connection)
+        {
+            if (connection.IsOpen) return;
+            ReplaceConnection(connection);
         }
 
         private async Task CloseAndRemoveAllConnectionsAsync()
@@ -179,7 +231,7 @@ namespace Gremlin.Net.Driver
             }
         }
 
-        private void DefinitelyDestroyConnection(Connection connection)
+        private void DefinitelyDestroyConnection(IConnection connection)
         {
             connection.Dispose();
         }
diff --git a/gremlin-dotnet/src/Gremlin.Net/Driver/GremlinClient.cs b/gremlin-dotnet/src/Gremlin.Net/Driver/GremlinClient.cs
index 2dc44ec..ba559b1 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Driver/GremlinClient.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Driver/GremlinClient.cs
@@ -80,7 +80,7 @@ namespace Gremlin.Net.Driver
         /// <inheritdoc />
         public async Task<ResultSet<T>> SubmitAsync<T>(RequestMessage requestMessage)
         {
-            using (var connection = await _connectionPool.GetAvailableConnectionAsync().ConfigureAwait(false))
+            using (var connection = _connectionPool.GetAvailableConnection())
             {
                 return await connection.SubmitAsync<T>(requestMessage).ConfigureAwait(false);
             }
diff --git a/gremlin-dotnet/src/Gremlin.Net/Driver/IConnection.cs b/gremlin-dotnet/src/Gremlin.Net/Driver/IConnection.cs
index b5ef52c..7d29571 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Driver/IConnection.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Driver/IConnection.cs
@@ -30,6 +30,10 @@ namespace Gremlin.Net.Driver
 {
     internal interface IConnection : IDisposable
     {
+        Task ConnectAsync();
         Task<ResultSet<T>> SubmitAsync<T>(RequestMessage requestMessage);
+        int NrRequestsInFlight { get; }
+        bool IsOpen { get; }
+        Task CloseAsync();
     }
 }
\ No newline at end of file
diff --git a/gremlin-dotnet/src/Gremlin.Net/Driver/IConnection.cs b/gremlin-dotnet/src/Gremlin.Net/Driver/IConnectionFactory.cs
similarity index 78%
copy from gremlin-dotnet/src/Gremlin.Net/Driver/IConnection.cs
copy to gremlin-dotnet/src/Gremlin.Net/Driver/IConnectionFactory.cs
index b5ef52c..0c7ace2 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Driver/IConnection.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Driver/IConnectionFactory.cs
@@ -21,15 +21,10 @@
 
 #endregion
 
-using System;
-using System.Collections.Generic;
-using System.Threading.Tasks;
-using Gremlin.Net.Driver.Messages;
-
 namespace Gremlin.Net.Driver
 {
-    internal interface IConnection : IDisposable
+    internal interface IConnectionFactory
     {
-        Task<ResultSet<T>> SubmitAsync<T>(RequestMessage requestMessage);
+        IConnection CreateConnection();
     }
 }
\ No newline at end of file
diff --git a/gremlin-dotnet/src/Gremlin.Net/Driver/ProxyConnection.cs b/gremlin-dotnet/src/Gremlin.Net/Driver/ProxyConnection.cs
index fef6ede..421d310 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Driver/ProxyConnection.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Driver/ProxyConnection.cs
@@ -30,23 +30,37 @@ namespace Gremlin.Net.Driver
 {
     internal sealed class ProxyConnection : IConnection
     {
-        private readonly Connection _realConnection;
-        private readonly Action<Connection> _releaseAction;
+        public IConnection ProxiedConnection { get; set; }
+        private readonly Action<IConnection> _releaseAction;
 
-        public ProxyConnection(Connection realConnection, Action<Connection> releaseAction)
+        public ProxyConnection(IConnection proxiedConnection, Action<IConnection> releaseAction)
         {
-            _realConnection = realConnection;
+            ProxiedConnection = proxiedConnection;
             _releaseAction = releaseAction;
         }
 
+        public async Task ConnectAsync()
+        {
+            await ProxiedConnection.ConnectAsync().ConfigureAwait(false);
+        }
+
         public async Task<ResultSet<T>> SubmitAsync<T>(RequestMessage requestMessage)
         {
-            return await _realConnection.SubmitAsync<T>(requestMessage).ConfigureAwait(false);
+            return await ProxiedConnection.SubmitAsync<T>(requestMessage).ConfigureAwait(false);
+        }
+
+        public int NrRequestsInFlight => ProxiedConnection.NrRequestsInFlight;
+
+        public bool IsOpen => ProxiedConnection.IsOpen;
+
+        public async Task CloseAsync()
+        {
+            await ProxiedConnection.CloseAsync().ConfigureAwait(false);
         }
 
         public void Dispose()
         {
-            _releaseAction(_realConnection);
+            _releaseAction(ProxiedConnection);
         }
     }
 }
\ No newline at end of file
diff --git a/gremlin-dotnet/src/Gremlin.Net/Gremlin.Net.csproj b/gremlin-dotnet/src/Gremlin.Net/Gremlin.Net.csproj
index 4a43c81..20b8edf 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Gremlin.Net.csproj
+++ b/gremlin-dotnet/src/Gremlin.Net/Gremlin.Net.csproj
@@ -63,11 +63,12 @@ NOTE that versions suffixed with "-rc" are considered release candidates (i.e. p
     <PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0" PrivateAssets="All"/>
     <PackageReference Include="Newtonsoft.Json" Version="11.0.2" />
     <PackageReference Include="Microsoft.CSharp" Version="4.3.0" />
+    <PackageReference Include="Polly" Version="7.2.0" />
   </ItemGroup>
 
   <ItemGroup>
-    <None Include="../../LICENSE" Pack="true" PackagePath=""/>
-    <None Include="../../NOTICE" Pack="true" PackagePath=""/>
+    <None Include="../../LICENSE" Pack="true" PackagePath="" />
+    <None Include="../../NOTICE" Pack="true" PackagePath="" />
   </ItemGroup>
 
 </Project>
diff --git a/gremlin-dotnet/src/Gremlin.Net/Properties/AssemblyInfo.cs b/gremlin-dotnet/src/Gremlin.Net/Properties/AssemblyInfo.cs
index 3f90e5d..4351b0e 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Properties/AssemblyInfo.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Properties/AssemblyInfo.cs
@@ -23,4 +23,5 @@
 
 using System.Runtime.CompilerServices;
 
-[assembly: InternalsVisibleTo("Gremlin.Net.UnitTest, PublicKey=00240000048000009400000006020000002400005253413100040000010001009bbf7a5b9966d9207d8abb9d3d3e98f5e387b292742cfb791dc657357221c3ac9b38ab6dab89630dc8edb3cde84a107f493d192116a934afa463355eefd58b82fd08dc2616ee6074a74bf5845652864746e285bd04e2e1a87921e8e2c383d1b302e7bee1fd7cdab5fe2bbed8c6677624d63433548d43a873ab5650ed96fb0687")]
\ No newline at end of file
+[assembly: InternalsVisibleTo("Gremlin.Net.UnitTest, PublicKey=00240000048000009400000006020000002400005253413100040000010001009bbf7a5b9966d9207d8abb9d3d3e98f5e387b292742cfb791dc657357221c3ac9b38ab6dab89630dc8edb3cde84a107f493d192116a934afa463355eefd58b82fd08dc2616ee6074a74bf5845652864746e285bd04e2e1a87921e8e2c383d1b302e7bee1fd7cdab5fe2bbed8c6677624d63433548d43a873ab5650ed96fb0687")]
+[assembly: InternalsVisibleTo("DynamicProxyGenAssembly2, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c547cac37abd99c8db225ef2f6c8a3602f3b3606cc9891605d02baa56104f4cfc0734aa39b93bf7852f7d9266654753cc297e7d2edfe0bac1cdcf9f717241550e0a7b191195b7667bb4f64bcb8e2121380fd1d9d46ad2d92d2d15605093924cceaf74c4861eff62abf69b9291ed0a340e113be11e6a7d3113e92484cf7045cc7")]
\ No newline at end of file
diff --git a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Driver/ConnectionPoolTests.cs b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Driver/ConnectionPoolTests.cs
new file mode 100644
index 0000000..2d33d23
--- /dev/null
+++ b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Driver/ConnectionPoolTests.cs
@@ -0,0 +1,193 @@
+#region License
+
+/*
+ * 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.
+ */
+
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Threading.Tasks;
+using Gremlin.Net.Driver;
+using Gremlin.Net.Driver.Exceptions;
+using Moq;
+using Xunit;
+
+namespace Gremlin.Net.UnitTest.Driver
+{
+    public class ConnectionPoolTests
+    {
+        [Theory]
+        [InlineData(1)]
+        [InlineData(2)]
+        [InlineData(10)]
+        public void ShouldEstablishConfiguredNrConnections(int poolSize)
+        {
+            var mockedConnectionFactory = new Mock<IConnectionFactory>();
+            var mockedConnection = new Mock<IConnection>();
+            mockedConnectionFactory.Setup(m => m.CreateConnection()).Returns(mockedConnection.Object);
+            var pool = CreateConnectionPool(mockedConnectionFactory.Object, poolSize);
+            
+            Assert.Equal(poolSize, pool.NrConnections);
+            mockedConnectionFactory.Verify(m => m.CreateConnection(), Times.Exactly(poolSize));
+            mockedConnection.Verify(m => m.ConnectAsync(), Times.Exactly(poolSize));
+        }
+
+        [Fact]
+        public void GetAvailableConnectionShouldReturnFirstOpenConnection()
+        {
+            var fakeConnectionFactory = new Mock<IConnectionFactory>();
+            var openConnectionToReturn = OpenConnection;
+            fakeConnectionFactory.SetupSequence(m => m.CreateConnection()).Returns(ClosedConnection)
+                .Returns(ClosedConnection).Returns(openConnectionToReturn);
+            var pool = CreateConnectionPool(fakeConnectionFactory.Object, 3);
+
+            var returnedConnection = pool.GetAvailableConnection();
+
+            Assert.Equal(openConnectionToReturn, ((ProxyConnection) returnedConnection).ProxiedConnection);
+        }
+        
+        [Fact]
+        public void GetAvailableConnectionShouldThrowIfAllConnectionsAreClosed()
+        {
+            var fakeConnectionFactory = new Mock<IConnectionFactory>();
+            fakeConnectionFactory.Setup(m => m.CreateConnection()).Returns(ClosedConnection);
+            var pool = CreateConnectionPool(fakeConnectionFactory.Object);
+
+            Assert.Throws<ServerUnavailableException>(() => pool.GetAvailableConnection());
+        }
+        
+        [Fact]
+        public void GetAvailableConnectionShouldReplaceClosedConnections()
+        {
+            var fakeConnectionFactory = new Mock<IConnectionFactory>();
+            fakeConnectionFactory.SetupSequence(m => m.CreateConnection()).Returns(ClosedConnection)
+                .Returns(ClosedConnection).Returns(OpenConnection);
+            var pool = CreateConnectionPool(fakeConnectionFactory.Object, 3);
+            fakeConnectionFactory.Setup(m => m.CreateConnection()).Returns(OpenConnection);
+            var nrCreatedConnections = pool.NrConnections;
+            
+            pool.GetAvailableConnection();
+            pool.GetAvailableConnection();
+            pool.GetAvailableConnection();
+
+            AssertNrOpenConnections(pool, nrCreatedConnections);
+        }
+
+        private static void AssertNrOpenConnections(ConnectionPool connectionPool, int expectedNrConnections)
+        {
+            for (var i = 0; i < expectedNrConnections; i++)
+            {
+                var connection = connectionPool.GetAvailableConnection();
+                Assert.True(connection.IsOpen);
+            }
+            Assert.Equal(expectedNrConnections, connectionPool.NrConnections);
+        }
+        
+        [Fact]
+        public async Task ShouldNotCreateMoreConnectionsThanConfiguredForParallelRequests()
+        {
+            var mockedConnectionFactory = new Mock<IConnectionFactory>();
+            mockedConnectionFactory.SetupSequence(m => m.CreateConnection()).Returns(ClosedConnection)
+                .Returns(ClosedConnection).Returns(OpenConnection);
+            var pool = CreateConnectionPool(mockedConnectionFactory.Object, 3);
+            mockedConnectionFactory.Setup(m => m.CreateConnection()).Returns(OpenConnection);
+            var nrCreatedConnections = pool.NrConnections;
+            var getConnectionTasks = new List<Task<IConnection>>();
+
+            for (var i = 0; i < 100; i++)
+            {
+                getConnectionTasks.Add(Task.Run(() => pool.GetAvailableConnection()));
+            }
+            await Task.WhenAll(getConnectionTasks);
+
+            await Task.Delay(1000);
+            Assert.Equal(nrCreatedConnections, pool.NrConnections);
+        }
+
+        [Fact]
+        public async Task ShouldReplaceConnectionClosedDuringSubmit()
+        {
+            var mockedConnectionFactory = new Mock<IConnectionFactory>();
+            var fakedConnection = new Mock<IConnection>();
+            fakedConnection.Setup(f => f.IsOpen).Returns(true);
+            mockedConnectionFactory.Setup(m => m.CreateConnection()).Returns(fakedConnection.Object);
+            var pool = CreateConnectionPool(mockedConnectionFactory.Object, 1);
+            var returnedConnection = pool.GetAvailableConnection();
+            fakedConnection.Setup(f => f.IsOpen).Returns(false);
+            mockedConnectionFactory.Setup(m => m.CreateConnection()).Returns(OpenConnection);
+
+            await returnedConnection.SubmitAsync<bool>(null);
+            returnedConnection.Dispose();
+
+            Assert.Equal(1, pool.NrConnections);
+            Assert.True(pool.GetAvailableConnection().IsOpen);
+        }
+
+        [Fact]
+        public void ShouldWaitForHostToBecomeAvailable()
+        {
+            var fakeConnectionFactory = new Mock<IConnectionFactory>();
+            fakeConnectionFactory.Setup(m => m.CreateConnection()).Returns(ClosedConnection);
+            var pool = CreateConnectionPool(fakeConnectionFactory.Object, 1);
+            fakeConnectionFactory.Setup(m => m.CreateConnection()).Returns(OpenConnection);
+            var nrCreatedConnections = pool.NrConnections;
+            
+            var connection = pool.GetAvailableConnection();
+
+            AssertNrOpenConnections(pool, nrCreatedConnections);
+            Assert.True(connection.IsOpen);
+        }
+
+        [Fact]
+        public void ShouldThrowAfterWaitingTooLongForUnavailableServer()
+        {
+            var fakeConnectionFactory = new Mock<IConnectionFactory>();
+            fakeConnectionFactory.Setup(m => m.CreateConnection()).Returns(ClosedConnection);
+            var pool = CreateConnectionPool(fakeConnectionFactory.Object, 1);
+            
+            Assert.Throws<ServerUnavailableException>(() => pool.GetAvailableConnection());
+        }
+
+        private static IConnection OpenConnection
+        {
+            get
+            {
+                var fakedConnection = new Mock<IConnection>();
+                fakedConnection.Setup(f => f.IsOpen).Returns(true);
+                return fakedConnection.Object;
+            }
+        }
+        
+        private static IConnection ClosedConnection
+        {
+            get
+            {
+                var fakedConnection = new Mock<IConnection>();
+                fakedConnection.Setup(f => f.IsOpen).Returns(false);
+                return fakedConnection.Object;
+            }
+        }
+
+        private static ConnectionPool CreateConnectionPool(IConnectionFactory connectionFactory, int poolSize = 2)
+        {
+            return new ConnectionPool(connectionFactory, new ConnectionPoolSettings {PoolSize = poolSize});
+        }
+    }
+}
\ No newline at end of file