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

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

commit 2eda64164268d18cf80b243956e0e1a4642f15f4
Merge: 19b5eee b252aba
Author: Stephen Mallette <[email protected]>
AuthorDate: Thu Nov 15 15:58:33 2018 -0500

    Merge branch 'TINKERPOP-2038' into tp33
    
    Conflicts:
        docs/src/upgrade/release-3.3.x.asciidoc

 CHANGELOG.asciidoc                                 |  1 +
 docs/src/reference/gremlin-applications.asciidoc   | 21 +++++++
 docs/src/upgrade/release-3.3.x.asciidoc            |  8 +++
 .../jsr223/CompilationOptionsCustomizer.java       | 33 ++++++++++-
 .../groovy/jsr223/GremlinGroovyScriptEngine.java   | 68 ++++++++++++----------
 .../groovy/jsr223/GroovyCompilerGremlinPlugin.java | 39 +++++++++++--
 ...inGroovyScriptEngineCompilationOptionsTest.java |  3 +-
 .../jsr223/GroovyCompilerGremlinPluginTest.java    | 33 ++++-------
 8 files changed, 143 insertions(+), 63 deletions(-)

diff --cc CHANGELOG.asciidoc
index 5422dc3,15fe14e..99313e0
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@@ -25,14 -25,12 +25,15 @@@ image::https://raw.githubusercontent.co
  
  This release also includes changes from <<release-3-2-11, 3.2.11>>.
  
 +* Added `:bytecode` command to help developers debugging `Bytecode`-based 
traversals.
  * Fixed `PersistedOutputRDD` to eager persist RDD by adding `count()` action 
calls.
 -* gremlin-python: the graphson deserializer for g:Set should return a python 
set
 +* Deserialized `g:Set` to a Python `Set` in GraphSON in `gremlin-python`.
 +* Changed Java driver to expect a generic `RemoteTraverser` object rather 
than the specific `DefaultRemoteTraverser`.
  * Display the remote stack trace in the Gremlin Console when scripts sent to 
the server fail.
 +* Added `AnonymousTraversalSource` which provides a more unified means of 
constructing a `TraversalSource`.
  * Changed behavior of GraphSON deserializer in gremlin-python such that 
`g:Set` returns a Python `Set`.
  * Changed behavior of `iterate()` in Python, Javascript and .NET to send 
`none()` thus avoiding unnecessary results being returned.
+ * Provided for a configurable class map cache in the 
`GremlinGroovyScriptEngine` and exposed that in Gremlin Server.
  
  [[release-3-3-4]]
  === TinkerPop 3.3.4 (Release Date: October 15, 2018)
diff --cc docs/src/upgrade/release-3.3.x.asciidoc
index 3dd91fd,8523d2a..07bbb82
--- a/docs/src/upgrade/release-3.3.x.asciidoc
+++ b/docs/src/upgrade/release-3.3.x.asciidoc
@@@ -29,54 -29,14 +29,62 @@@ Please see the link:https://github.com/
  
  === Upgrading for Users
  
 +==== AnonymousTraversalSource
 +
 +The `AnonymousTraversalSource` provides for a more unified syntax for 
`TraversalSource` construction by placing greater
 +user emphasis on the creation of the source rather than the `Graph` it is 
connected to. It has a number of different
 +static `traversal()` methods available and when imported as:
 +
 +[source,java]
 +import static 
org.apache.tinkerpop.gremlin.process.traversal.AnonymousTraversalSource.traversal;
 +
 +allows `TraversalSource` construction syntax such as:
 +
 +[source,text]
 +----
 +gremlin> g = traversal().withGraph(TinkerFactory.createModern())
 +==>graphtraversalsource[tinkergraph[vertices:6 edges:6], standard]
 +gremlin> g = traversal().withRemote('conf/remote-graph.properties')
 +==>graphtraversalsource[emptygraph[empty], standard]
 +gremlin> g = 
traversal().withRemote(DriverRemoteConnection.using('localhost',8182))
 +==>graphtraversalsource[emptygraph[empty], standard]
 +----
 +
 +Typically, this syntax is used for "remote" traversal construction for 
bytecode based requests, but has the option to
 +bind a local `Graph` instance to it as well. It doesn't save much typing to 
do so obviously, so it may not be best
 +used in that situation. Python, Javascript and .NET have similar syntax.
 +
 +See: link:https://issues.apache.org/jira/browse/TINKERPOP-2078[TINKERPOP-2078]
 +
 +==== Bytecode Command
 +
 +The Gremlin Console now has a new `:bytecode` command to help users work more 
directly with Gremlin bytecode. The
 +command is more of a debugging tool than something that would be used for 
every day purposes. It is sometimes helpful
 +to look at Gremlin bytecode directly and the process for viewing it in human 
readable format is not a single step
 +process. It is also not immediately clear how to convert bytecode to a 
Gremlin string. The `:bytecode` command aims to
 +help with both of these issues:
 +
 +[source,text]
 +----
 +gremlin> g = TinkerFactory.createModern().traversal()
 +==>graphtraversalsource[tinkergraph[vertices:6 edges:6], standard]
 +gremlin> :bytecode from g.V().out('knows')  <1>
 +==>{"@type":"g:Bytecode","@value":{"step":[["V"],["out","knows"]]}}
 +gremlin> :bytecode translate g 
{"@type":"g:Bytecode","@value":{"step":[["V"],["out","knows"]]}} <2>
 +==>g.V().out("knows")
 +----
 +
 +See: 
link:https://issues.apache.org/jira/browse/TINKERPOP-2050[TINKERPOP-2050],
 
+link:http://tinkerpop.apache.org/docs/3.3.5/reference/#_console_commands[Reference
 Documentation - Console Commands]
 +
+ ==== Configurable Class Map Cache
+ 
+ The "class map" cache in Gremlin Server (specifically the 
`GremlinGroovyScriptEngine`) that holds compiled scripts is
+ now fully configurable via the 
`GroovyCompilerGremlinPlugin.classMapCacheSpecification`.
+ 
+ See: 
link:https://issues.apache.org/jira/browse/TINKERPOP-2038[TINKERPOP-2038],
+ 
link:http://tinkerpop.apache.org/docs/3.3.2/reference/#gremlin-server-cache[Reference
 Documentation - Cache Management]
+ 
  == TinkerPop 3.3.4
  
  *Release Date: October 15, 2018*

Reply via email to