You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by sp...@apache.org on 2015/11/09 21:38:22 UTC

svn commit: r1713534 - /incubator/tinkerpop/site/docs/3.1.0-SNAPSHOT/upgrade.html

Author: spmallette
Date: Mon Nov  9 20:38:22 2015
New Revision: 1713534

URL: http://svn.apache.org/viewvc?rev=1713534&view=rev
Log:
Revised pattern for TinkerPop upgrade docs.

Modified:
    incubator/tinkerpop/site/docs/3.1.0-SNAPSHOT/upgrade.html

Modified: incubator/tinkerpop/site/docs/3.1.0-SNAPSHOT/upgrade.html
URL: http://svn.apache.org/viewvc/incubator/tinkerpop/site/docs/3.1.0-SNAPSHOT/upgrade.html?rev=1713534&r1=1713533&r2=1713534&view=diff
==============================================================================
--- incubator/tinkerpop/site/docs/3.1.0-SNAPSHOT/upgrade.html (original)
+++ incubator/tinkerpop/site/docs/3.1.0-SNAPSHOT/upgrade.html Mon Nov  9 20:38:22 2015
@@ -809,6 +809,8 @@ span.line-numbers { border-right: 1px so
 <ul class="sectlevel3">
 <li><a href="#_gremlin_structure">Gremlin Structure</a></li>
 <li><a href="#_gremlin_process">Gremlin Process</a></li>
+<li><a href="#_gremlin_groovy_updates">Gremlin-Groovy Updates</a></li>
+<li><a href="#_gremlin_console">Gremlin Console</a></li>
 </ul>
 </li>
 <li><a href="#_upgrading_for_providers">Upgrading for Providers</a></li>
@@ -828,8 +830,14 @@ span.line-numbers { border-right: 1px so
 <li><a href="#_tinkerpop_3_0_2">TinkerPop 3.0.2</a></li>
 <li>
 <ul class="sectlevel2">
-<li><a href="#_important_changes_2">Important Changes</a></li>
 <li><a href="#_upgrading_for_users_2">Upgrading for Users</a></li>
+<li>
+<ul class="sectlevel3">
+<li><a href="#_bulkloadervertexprogram_blvp">BulkLoaderVertexProgram (BLVP)</a></li>
+<li><a href="#_tinkergraph">TinkerGraph</a></li>
+<li><a href="#_gremlin_driver_and_server">Gremlin Driver and Server</a></li>
+</ul>
+</li>
 <li><a href="#_upgrading_for_providers_2">Upgrading for Providers</a></li>
 <li>
 <ul class="sectlevel3">
@@ -841,8 +849,13 @@ span.line-numbers { border-right: 1px so
 <li><a href="#_tinkerpop_3_0_1">TinkerPop 3.0.1</a></li>
 <li>
 <ul class="sectlevel2">
-<li><a href="#_important_changes_3">Important Changes</a></li>
 <li><a href="#_upgrading_for_users_3">Upgrading for Users</a></li>
+<li>
+<ul class="sectlevel3">
+<li><a href="#_gremlin_server">Gremlin Server</a></li>
+<li><a href="#_neo4j">Neo4j</a></li>
+</ul>
+</li>
 <li><a href="#_upgrading_for_providers_3">Upgrading for Providers</a></li>
 <li>
 <ul class="sectlevel3">
@@ -953,6 +966,9 @@ build libraries and other systems on the
 <p>The implementation and semantics of <code>GraphTraversal.group()</code> has changed. The previous model is deprecated and renamed to <code>groupV3d0()</code>.</p>
 </li>
 <li>
+<p><code>Transaction.onReadWrite()</code> and <code>Transaction.onClose()</code> are now <code>ThreadLocal</code> settings</p>
+</li>
+<li>
 <p><code>PartitionStrategy</code> now supports <code>VertexProperty</code> such those properties can be added to partitions.</p>
 </li>
 <li>
@@ -989,6 +1005,18 @@ to closing where a user must now explici
 </div>
 </div>
 <div class="sect4">
+<h5 id="_threadlocal_transaction_settings">ThreadLocal Transaction Settings</h5>
+<div class="paragraph">
+<p>The <code>Transaction.onReadWrite()</code> and <code>Transaction.onClose()</code> settings now need to be set for each thread (if another
+behavior than the default is desired). For gremlin-server users that may be changing these settings via scripts.
+If the settings are changed for a sessionless request they will now only apply to that one request. If the settings are
+changed for an in-session request they will now only apply to all future requests made in the scope of that session.</p>
+</div>
+<div class="paragraph">
+<p>See <a href="https://issues.apache.org/jira/browse/TINKERPOP3-885">TINKERPOP3-885</a></p>
+</div>
+</div>
+<div class="sect4">
 <h5 id="_hadoop_gremlin_updates">Hadoop-Gremlin Updates</h5>
 <div class="ulist">
 <ul>
@@ -1110,8 +1138,9 @@ to closing where a user must now explici
 </ul>
 </div>
 </div>
-<div class="sect4">
-<h5 id="_gremlin_groovy_updates">Gremlin-Groovy Updates</h5>
+</div>
+<div class="sect3">
+<h4 id="_gremlin_groovy_updates">Gremlin-Groovy Updates</h4>
 <div class="ulist">
 <ul>
 <li>
@@ -1130,6 +1159,30 @@ to closing where a user must now explici
 </ul>
 </div>
 </div>
+<div class="sect3">
+<h4 id="_gremlin_console">Gremlin Console</h4>
+<div class="sect4">
+<h5 id="_aliasing_remotes">Aliasing Remotes</h5>
+<div class="paragraph">
+<p>The <code>:remote</code> command in Gremlin Console has a new <code>alias</code> configuration option.  This <code>alias</code> option allows
+specification of a set of key/value alias/binding pairs to apply to the remote.  In this way, it becomes possible
+to refer to a variable on the server as something other than what it is referred to for purpose of the submitted
+script.  For example once a <code>:remote</code> is created, this command:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay"><code class="text language-text">:remote alias x g</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>would allow "g" on the server to be referred to as "x".</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay"><code class="text language-text">:&gt; x.E().label().groupCount()</code></pre>
+</div>
+</div>
+</div>
 </div>
 </div>
 <div class="sect2">
@@ -1147,11 +1200,26 @@ provider&#8217;s side.</p>
 <p>The <code>AbstractTransaction</code> class has been abstracted into two different classes supporting two different modes of
 operation: <code>AbstractThreadLocalTransaction</code> and <code>AbstractThreadedTransaction</code>, where the former should be used when
 supporting <code>ThreadLocal</code> transactions and the latter for threaded transactions.  Of course, providers may still
-choose to build their own implementation on <code>AbstractTransaction</code> itself or simply implementing the <code>Transaction</code>
+choose to build their own implementation on <code>AbstractTransaction</code> itself or simply implement the <code>Transaction</code>
 interface.</p>
 </div>
 <div class="paragraph">
-<p>See <a href="https://issues.apache.org/jira/browse/TINKERPOP3-765">TINKERPOP3-765</a> for more information.</p>
+<p>The <code>AbstractTransaction</code> gains the following methods to potentially implement (though default implementations
+are supplied in <code>AbstractThreadLocalTransaction</code> and <code>AbstractThreadedTransaction</code>):</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><code>doReadWrite</code> that should execute the read-write consumer.</p>
+</li>
+<li>
+<p><code>doClose</code> that should execute the close consumer.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>See <a href="https://issues.apache.org/jira/browse/TINKERPOP3-765">TINKERPOP3-765</a> and
+<a href="https://issues.apache.org/jira/browse/TINKERPOP3-885">TINKERPOP3-885</a> for more information.</p>
 </div>
 </div>
 <div class="sect4">
@@ -1241,6 +1309,18 @@ parameter or the other if either is supp
 <p>See <a href="https://issues.apache.org/jira/browse/TINKERPOP3-913">TINKERPOP3-913</a> for more information.</p>
 </div>
 </div>
+<div class="sect4">
+<h5 id="_threadlocal_transaction_settings_2">ThreadLocal Transaction Settings</h5>
+<div class="paragraph">
+<p>If a driver configures the <code>Transaction.onReadWrite()</code> or <code>Transaction.onClose()</code> settings, note that these settings no
+longer apply to all future requests. If the settings are changed for a sessionless request they will only apply to
+that one request. If the settings are changed from an in-session request they will only apply to all future requests
+made in the scope of that session.</p>
+</div>
+<div class="paragraph">
+<p>See <a href="https://issues.apache.org/jira/browse/TINKERPOP3-885">TINKERPOP3-885</a> for more information.</p>
+</div>
+</div>
 </div>
 </div>
 </div>
@@ -1260,35 +1340,53 @@ parameter or the other if either is supp
 <div class="paragraph">
 <p><strong>Release Date: October 19, 2015</strong></p>
 </div>
+<div class="paragraph">
+<p>Please see the <a href="https://github.com/apache/incubator-tinkerpop/blob/3.0.2-incubating/CHANGELOG.asciidoc#tinkerpop-302-release-date-october-19-2015">changelog</a> for a complete list of all the modifications that are part of this release.</p>
+</div>
 <div class="sect2">
-<h3 id="_important_changes_2">Important Changes</h3>
-<div class="ulist">
-<ul>
-<li>
+<h3 id="_upgrading_for_users_2">Upgrading for Users</h3>
+<div class="sect3">
+<h4 id="_bulkloadervertexprogram_blvp">BulkLoaderVertexProgram (BLVP)</h4>
+<div class="paragraph">
+<p><code>BulkLoaderVertexProgram</code> does now support arbitrary inputs (besides the <code>HadoopGraph</code>, which was already supported in
+version 3.0.1-incubating, <code>BulkLoaderVertexProgram</code> can now also read from any TP3 enabled graph, like <code>TinkerGraph</code>
+or <code>Neo4jGraph</code>).</p>
+</div>
+<div class="paragraph">
+<p>See: <a href="https://issues.apache.org/jira/browse/TINKERPOP3-814">TINKERPOP3-319</a>,
+link:http://tinkerpop.incubator.apache.org/docs/3.0.2-incubating/#bulkloadervertexprogram[Reference Documentation - BLVP)</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_tinkergraph">TinkerGraph</h4>
+<div class="paragraph">
 <p>TinkerGraph can now be configured to support persistence, where TinkerGraph will try to load a graph from a specified
 location and calls to <code>close()</code> will save the graph data to that location.</p>
-</li>
-<li>
+</div>
+<div class="paragraph">
+<p>See: <a href="https://issues.apache.org/jira/browse/TINKERPOP3-828">TINKERPOP3-828</a>,
+<a href="http://tinkerpop.incubator.apache.org/docs/3.0.2-incubating/#_configuration">Reference Documentation - TinkerGraph</a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_gremlin_driver_and_server">Gremlin Driver and Server</h4>
+<div class="paragraph">
 <p>There were a number of fixes to <code>gremlin-driver</code> that prevent protocol desynchronization when talking to Gremlin
 Server.</p>
-</li>
-<li>
-<p>The Gremlin Server sub-protocol introduces a new "close" operation to explicitly close sessions.</p>
-</li>
-<li>
-<p><code>BulkLoaderVertexProgram</code> does now support arbitrary inputs (besides the <code>HadoopGraph</code>, which was already supported in
-version 3.0.1, <code>BulkLoaderVertexProgram</code> can now also read from any TP3 enabled graph, like <code>TinkerGraph</code> or <code>Neo4jGraph</code>).</p>
-</li>
-</ul>
 </div>
 <div class="paragraph">
-<p>Please see the <a href="https://github.com/apache/incubator-tinkerpop/blob/3.0.2-incubating/CHANGELOG.asciidoc#tinkerpop-302-release-date-october-19-2015">changelog</a> for a complete list of all the modifications that are part of this release.</p>
-</div>
+<p>On the Gremlin Server side, Websocket sub-protocol introduces a new "close" operation to explicitly close sessions.
+Prior to this change, sessions were closed in a more passive fashion (i.e. session timeout).  There were also so
+bug fixes around the protocol as it pertained to third-party drivers (e.g. python) using JSON for authentication.</p>
 </div>
-<div class="sect2">
-<h3 id="_upgrading_for_users_2">Upgrading for Users</h3>
 <div class="paragraph">
-<p>Aside from learning about new features, users should not expect to find any changes in this release that will cause compile errors or other problems during upgrade.</p>
+<p>See: <a href="https://issues.apache.org/jira/browse/TINKERPOP3-814">TINKERPOP3-814</a>,
+<a href="https://issues.apache.org/jira/browse/TINKERPOP3-816">TINKERPOP3-816</a>,
+<a href="https://issues.apache.org/jira/browse/TINKERPOP3-817">TINKERPOP3-817</a>,
+<a href="https://issues.apache.org/jira/browse/TINKERPOP3-855">TINKERPOP3-855</a>,
+<a href="https://issues.apache.org/jira/browse/TINKERPOP3-870">TINKERPOP3-870</a>,
+<a href="https://issues.apache.org/jira/browse/TINKERPOP3-877">TINKERPOP3-877</a></p>
+</div>
 </div>
 </div>
 <div class="sect2">
@@ -1304,8 +1402,8 @@ closed by the server after timeout of ac
 explicitly and as needed.</p>
 </div>
 <div class="paragraph">
-<p>See <a href="https://issues.apache.org/jira/browse/TINKERPOP3-849">TINKERPOP3-849</a> and the
-<a href="http://tinkerpop.incubator.apache.org/docs/3.0.2-incubating/#_opprocessors_arguments">documentation</a> for more information.</p>
+<p>See: <a href="https://issues.apache.org/jira/browse/TINKERPOP3-849">TINKERPOP3-849</a>,
+<a href="http://tinkerpop.incubator.apache.org/docs/3.0.2-incubating/#_opprocessors_arguments">Reference Documentation - OpProcessor</a></p>
 </div>
 </div>
 </div>
@@ -1318,32 +1416,39 @@ explicitly and as needed.</p>
 <div class="paragraph">
 <p><strong>Release Date: September 2, 2015</strong></p>
 </div>
-<div class="sect2">
-<h3 id="_important_changes_3">Important Changes</h3>
-<div class="ulist">
-<ul>
-<li>
-<p>Gremlin Server now supports a <a href="https://en.wikipedia.org/wiki/Simple_Authentication_and_Security_Layer">SASL-based</a> (Simple Authentication and Security Layer) authentication model and a default <code>SimpleAuthenticator</code> which implements the <code>PLAIN</code> SASL mechanism (i.e. plain text) to authenticate requests.  This gives Gremlin Server some basic security capabilities, especially when combined with its built-in SSL feature.</p>
-</li>
-<li>
-<p>Gremlin Server now allows for a <code>Map</code> of values that can be returned from initialization scripts.  That <code>Map</code> will be used to set global bindings for the server. See this <a href="https://github.com/apache/incubator-tinkerpop/blob/3.0.1-incubating/gremlin-server/scripts/generate-modern.groovy">sample script</a> for an example.</p>
-</li>
-<li>
-<p>The Neo4j plugin should now install properly on Windows operating systems.</p>
-</li>
-<li>
-<p>For those who are interested in writing documentation for TinkerPop, there is now a <code>--dryRun</code> option that can be supplied to the <code>bin/process-docs.sh</code> command.  This command is useful in that it does not pre-process the documentation and execute the code samples within.  That step is time-intensive and therefore the <code>--dryRun</code> option can save a lot of time when editing the documentation, especially if there are only text or formatting changes to test.</p>
-</li>
-</ul>
-</div>
 <div class="paragraph">
 <p>Please see the <a href="https://github.com/apache/incubator-tinkerpop/blob/3.0.1-incubating/CHANGELOG.asciidoc#tinkerpop-301-release-date-september-2-2015">changelog</a> for a complete list of all the modifications that are part of this release.</p>
 </div>
-</div>
 <div class="sect2">
 <h3 id="_upgrading_for_users_3">Upgrading for Users</h3>
+<div class="sect3">
+<h4 id="_gremlin_server">Gremlin Server</h4>
+<div class="paragraph">
+<p>Gremlin Server now supports a <a href="https://en.wikipedia.org/wiki/Simple_Authentication_and_Security_Layer">SASL-based</a>
+(Simple Authentication and Security Layer) authentication model and a default <code>SimpleAuthenticator</code> which implements
+the <code>PLAIN</code> SASL mechanism (i.e. plain text) to authenticate requests.  This gives Gremlin Server some basic security
+capabilities, especially when combined with its built-in SSL feature.</p>
+</div>
+<div class="paragraph">
+<p>There have also been changes in how global variable bindings in Gremlin Server are established via initialization
+scripts.  The initialization scripts now allow for a <code>Map</code> of values that can be returned from those scripts.
+That <code>Map</code> will be used to set global bindings for the server. See this
+<a href="https://github.com/apache/incubator-tinkerpop/blob/3.0.1-incubating/gremlin-server/scripts/generate-modern.groovy">sample script</a>
+for an example.</p>
+</div>
 <div class="paragraph">
-<p>Aside from learning about new features, users should not expect to find any changes in this release that will cause compile errors or other problems during upgrade.</p>
+<p>See: <a href="https://issues.apache.org/jira/browse/TINKERPOP3-576">TINKERPOP3-576</a></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_neo4j">Neo4j</h4>
+<div class="paragraph">
+<p>Problems related to using <code>:install</code> to get the Neo4j plugin operating in Gremlin Console on Windows have been
+resolved.</p>
+</div>
+<div class="paragraph">
+<p>See: <a href="https://issues.apache.org/jira/browse/TINKERPOP3-804">TINKERPOP3-804</a></p>
+</div>
 </div>
 </div>
 <div class="sect2">
@@ -1366,7 +1471,7 @@ explicitly and as needed.</p>
 <p><code>MyGraphFactory</code> must contain the static <code>open</code> method that is normally expected by <code>GraphFactory</code>.</p>
 </div>
 <div class="paragraph">
-<p>See <a href="https://issues.apache.org/jira/browse/TINKERPOP3-778">TINKERPOP3-778</a> for more information.</p>
+<p>See: <a href="https://issues.apache.org/jira/browse/TINKERPOP3-778">TINKERPOP3-778</a></p>
 </div>
 </div>
 <div class="sect4">
@@ -1386,7 +1491,7 @@ explicitly and as needed.</p>
 </div>
 </div>
 <div class="paragraph">
-<p>See <a href="https://issues.apache.org/jira/browse/TINKERPOP3-690">TINKERPOP3-690</a> for more information.</p>
+<p>See: <a href="https://issues.apache.org/jira/browse/TINKERPOP3-690">TINKERPOP3-690</a> for more information.</p>
 </div>
 </div>
 <div class="sect4">
@@ -1395,7 +1500,7 @@ explicitly and as needed.</p>
 <p>There were some adjustments to the test suite with respect to how <code>Transaction.close()</code> was being validated.  For most providers, this will generally mean checking <code>OptOut</code> annotations for test renaming problems.  The error that occurs when running the test suite should make it apparent that a test name is incorrect in an <code>OptOut</code> if there are issues there.</p>
 </div>
 <div class="paragraph">
-<p>See <a href="https://issues.apache.org/jira/browse/TINKERPOP3-764">TINKERPOP3-764</a> for more information.</p>
+<p>See: <a href="https://issues.apache.org/jira/browse/TINKERPOP3-764">TINKERPOP3-764</a> for more information.</p>
 </div>
 </div>
 </div>
@@ -1410,7 +1515,7 @@ additional change.  Drivers should howev
 want the security capabilities that it provides.</p>
 </div>
 <div class="paragraph">
-<p>Please read more about how to implement authentication <a href="http://tinkerpop.incubator.apache.org/docs/3.0.1-incubating/#_authentication">here</a>.</p>
+<p>See: <a href="http://tinkerpop.incubator.apache.org/docs/3.0.1-incubating/#_authentication">Reference Documentation - Gremlin Server Authentication</a></p>
 </div>
 </div>
 </div>
@@ -1420,7 +1525,7 @@ want the security capabilities that it p
 </div>
 <div id="footer">
 <div id="footer-text">
-Last updated 2015-11-06 11:13:06 -05:00
+Last updated 2015-11-09 15:33:42 -05:00
 </div>
 </div>
 </body>