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/08/14 16:00:21 UTC
[1/5] incubator-tinkerpop git commit: Fix formatting in changelog.
Repository: incubator-tinkerpop
Updated Branches:
refs/heads/master 477d58a05 -> 5aba975c4
Fix formatting in changelog.
Project: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/commit/ce5680e3
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/tree/ce5680e3
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/diff/ce5680e3
Branch: refs/heads/master
Commit: ce5680e39a8f0da7c0ebd634eff03319aea4fd38
Parents: 5453b2d
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Mon Aug 10 17:16:03 2015 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Mon Aug 10 17:16:03 2015 -0400
----------------------------------------------------------------------
CHANGELOG.asciidoc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/ce5680e3/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 7363e7d..ec39683 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -32,7 +32,7 @@ TinkerPop 3.0.1 (NOT OFFICIALLY RELEASED YET)
* Fixed bug in `EventStrategy` around property changed events when calling `property` without cardinality or meta-property values.
* Improved support for the `Accept` header for REST-based requests in Gremlin Server.
* `GraphFactory` now allows specification of the class to use to instantiate the `Graph` through the `GraphFactoryClass` annotation.
-* Added `wrapAdjacencyList and `unwrapAdjacencyList` options to `GraphSONWriter` and `GraphSONReader` respectively, thus allowing valid JSON to be written/read if the user desires.
+* Added `wrapAdjacencyList` and `unwrapAdjacencyList` options to `GraphSONWriter` and `GraphSONReader` respectively, thus allowing valid JSON to be written/read if the user desires.
* Added Gremlin Server/Driver authentication support via SASL.
* Added Basic HTTP authentication support for REST in Gremlin Server.
* Added Gremlin Server plugin to help with "credential graph" management (used in conjunction with authentication features of Gremlin Server).
[4/5] incubator-tinkerpop git commit: Included a Gremlin Server
sample config for Neo4j.
Posted by sp...@apache.org.
Included a Gremlin Server sample config for Neo4j.
Project: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/commit/e4352a40
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/tree/e4352a40
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/diff/e4352a40
Branch: refs/heads/master
Commit: e4352a408a5d95bb2e8e3b6c04d989a1461d6eb8
Parents: 089c0f7
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Fri Aug 14 08:48:12 2015 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Fri Aug 14 08:48:12 2015 -0400
----------------------------------------------------------------------
gremlin-server/conf/gremlin-server-neo4j.yaml | 71 ++++++++++++++++++++++
gremlin-server/conf/neo4j-empty.properties | 5 ++
2 files changed, 76 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/e4352a40/gremlin-server/conf/gremlin-server-neo4j.yaml
----------------------------------------------------------------------
diff --git a/gremlin-server/conf/gremlin-server-neo4j.yaml b/gremlin-server/conf/gremlin-server-neo4j.yaml
new file mode 100644
index 0000000..aef5403
--- /dev/null
+++ b/gremlin-server/conf/gremlin-server-neo4j.yaml
@@ -0,0 +1,71 @@
+# 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.
+
+# Note that TinkerPop does not include Neo4j dependencies in its
+# distributions. This file cannot be used as a configuration file to
+# Gremlin Server unless Neo4j dependencies are installed on the
+# Gremlin Server path with:
+#
+# bin/gremlin-server.sh -i org.apache.tinkerpop neo4j-gremlin x.y.z
+#
+# Note that unless under a commercial agreement with Neo Technology,
+# Neo4j is licensed AGPL.
+
+host: localhost
+port: 8182
+threadPoolWorker: 1
+gremlinPool: 8
+scriptEvaluationTimeout: 30000
+serializedResponseTimeout: 30000
+channelizer: org.apache.tinkerpop.gremlin.server.channel.WebSocketChannelizer
+graphs: {
+ graph: conf/neo4j-empty.properties}
+plugins:
+ - tinkerpop.neo4j
+scriptEngines: {
+ gremlin-groovy: {
+ imports: [java.lang.Math],
+ staticImports: [java.lang.Math.PI],
+ scripts: [scripts/empty-sample.groovy]},
+ nashorn: {
+ imports: [java.lang.Math],
+ staticImports: [java.lang.Math.PI]}}
+serializers:
+ - { className: org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV1d0 } # application/vnd.gremlin-v1.0+gryo
+ - { className: org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV1d0, config: { serializeResultToString: true }} # application/vnd.gremlin-v1.0+gryo-stringd
+ - { className: org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerGremlinV1d0 } # application/vnd.gremlin-v1.0+json
+ - { className: org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerV1d0 } # application/json
+processors:
+ - { className: org.apache.tinkerpop.gremlin.server.op.session.SessionOpProcessor, config: { sessionTimeout: 28800000 }}
+metrics: {
+ consoleReporter: {enabled: true, interval: 180000},
+ csvReporter: {enabled: true, interval: 180000, fileName: /tmp/gremlin-server-metrics.csv},
+ jmxReporter: {enabled: true},
+ slf4jReporter: {enabled: true, interval: 180000},
+ gangliaReporter: {enabled: false, interval: 180000, addressingMode: MULTICAST},
+ graphiteReporter: {enabled: false, interval: 180000}}
+threadPoolBoss: 1
+maxInitialLineLength: 4096
+maxHeaderSize: 8192
+maxChunkSize: 8192
+maxContentLength: 65536
+maxAccumulationBufferComponents: 1024
+resultIterationBatchSize: 64
+writeBufferHighWaterMark: 32768
+writeBufferHighWaterMark: 65536
+ssl: {
+ enabled: false}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/e4352a40/gremlin-server/conf/neo4j-empty.properties
----------------------------------------------------------------------
diff --git a/gremlin-server/conf/neo4j-empty.properties b/gremlin-server/conf/neo4j-empty.properties
index 6d01a5e..0ea551b 100644
--- a/gremlin-server/conf/neo4j-empty.properties
+++ b/gremlin-server/conf/neo4j-empty.properties
@@ -22,6 +22,11 @@
# with:
#
# gremlin-server.sh -i org.apache.tinkerpop neo4j-gremlin 3.y.z
+#
+# Note that unless under a commercial agreement with Neo Technology,
+# Neo4j is licensed AGPL.
+
+
gremlin.graph=org.apache.tinkerpop.gremlin.neo4j.structure.Neo4jGraph
gremlin.neo4j.directory=/tmp/neo4j
gremlin.neo4j.conf.node_auto_indexing=true
[5/5] incubator-tinkerpop git commit: Merge remote-tracking branch
'origin/tp30'
Posted by sp...@apache.org.
Merge remote-tracking branch 'origin/tp30'
Project: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/commit/5aba975c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/tree/5aba975c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/diff/5aba975c
Branch: refs/heads/master
Commit: 5aba975c4dc750f9cb3898776776a5f4c7e1dfa1
Parents: 477d58a e4352a4
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Fri Aug 14 09:02:57 2015 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Fri Aug 14 09:02:57 2015 -0400
----------------------------------------------------------------------
CHANGELOG.asciidoc | 2 +-
.../gremlin/structure/Transaction.java | 46 +++++++++++++
.../structure/util/AbstractTransaction.java | 4 ++
.../groovy/util/DependencyGrabber.groovy | 62 ++++++++---------
gremlin-server/conf/gremlin-server-neo4j.yaml | 71 ++++++++++++++++++++
gremlin-server/conf/neo4j-empty.properties | 5 ++
6 files changed, 156 insertions(+), 34 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/5aba975c/CHANGELOG.asciidoc
----------------------------------------------------------------------
[3/5] incubator-tinkerpop git commit: Apply windows path cleanup to
all copied paths in DependencyGrabber.
Posted by sp...@apache.org.
Apply windows path cleanup to all copied paths in DependencyGrabber.
This was causing an exception as shown in TINKERPOP3-804. Refactored the code a bit to remove some duplication.
Project: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/commit/089c0f72
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/tree/089c0f72
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/diff/089c0f72
Branch: refs/heads/master
Commit: 089c0f720c9af1646c2fdc67b6d08f93410bca4b
Parents: f94c36c
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Fri Aug 14 08:40:24 2015 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Fri Aug 14 08:40:24 2015 -0400
----------------------------------------------------------------------
.../groovy/util/DependencyGrabber.groovy | 62 +++++++++-----------
1 file changed, 29 insertions(+), 33 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/089c0f72/gremlin-groovy/src/main/groovy/org/apache/tinkerpop/gremlin/groovy/util/DependencyGrabber.groovy
----------------------------------------------------------------------
diff --git a/gremlin-groovy/src/main/groovy/org/apache/tinkerpop/gremlin/groovy/util/DependencyGrabber.groovy b/gremlin-groovy/src/main/groovy/org/apache/tinkerpop/gremlin/groovy/util/DependencyGrabber.groovy
index 14f6bbf..07102fe 100644
--- a/gremlin-groovy/src/main/groovy/org/apache/tinkerpop/gremlin/groovy/util/DependencyGrabber.groovy
+++ b/gremlin-groovy/src/main/groovy/org/apache/tinkerpop/gremlin/groovy/util/DependencyGrabber.groovy
@@ -76,47 +76,43 @@ class DependencyGrabber {
final def dependencyLocations = [] as Set<URI>
dependencyLocations.addAll(Grape.resolve([classLoader: this.classLoaderToUse], null, dep))
- // if windows then the path contains a starting forward slash that prevents it from being
- // recognized by FileSystem - strip it off
- dependencyLocations.collect {
- def p = SystemUtils.IS_OS_WINDOWS ? it.path.substring(1) : it.path
- return fs.getPath(p)
- }.findAll { !(it.fileName.toFile().name ==~ /(slf4j|logback\-classic)-.*\.jar/) }.findAll {
- !filesAlreadyInPath.collect { it.getFileName().toString() }.contains(it.fileName.toFile().name)
- }.each {
- def copying = targetPluginPath.resolve(it.fileName)
- Files.copy(it, copying, StandardCopyOption.REPLACE_EXISTING)
- println "Copying - $copying"
- }
-
- dependencyLocations.collect {
- def p = SystemUtils.IS_OS_WINDOWS ? it.path.substring(1) : it.path
- return fs.getPath(p)
- }.each {
- def copying = targetLibPath.resolve(it.fileName)
- Files.copy(it, copying, StandardCopyOption.REPLACE_EXISTING)
- println "Copying - $copying"
- }
-
- getAdditionalDependencies(targetPluginPath, artifact).collect { fs.getPath(it.path) }
+ // get dependencies for the plugin path which should be part of the class path
+ dependencyLocations.collect(convertUriToPath(fs))
+ .findAll { !(it.fileName.toFile().name ==~ /(slf4j|logback\-classic)-.*\.jar/) }
+ .findAll {!filesAlreadyInPath.collect { it.getFileName().toString() }.contains(it.fileName.toFile().name)}
+ .each(copyTo(targetPluginPath))
+ getAdditionalDependencies(targetPluginPath, artifact).collect(convertUriToPath(fs))
.findAll { !(it.fileName.toFile().name ==~ /(slf4j|logback\-classic)-.*\.jar/) }
.findAll { !filesAlreadyInPath.collect { it.getFileName().toString() }.contains(it.fileName.toFile().name)}
- .each {
- def copying = targetPluginPath.resolve(it.fileName)
- Files.copy(it, copying, StandardCopyOption.REPLACE_EXISTING)
- println "Copying - $copying"
- }
+ .each(copyTo(targetPluginPath))
- getAdditionalDependencies(targetLibPath, artifact).collect { fs.getPath(it.path) }.each {
- def copying = targetLibPath.resolve(it.fileName)
- Files.copy(it, copying, StandardCopyOption.REPLACE_EXISTING)
- println "Copying - $copying"
- }
+ // get dependencies for the lib path. the lib path should not filter out any jars - used for reference
+ dependencyLocations.collect(convertUriToPath(fs)).each(copyTo(targetLibPath))
+ getAdditionalDependencies(targetLibPath, artifact).collect(convertUriToPath(fs)).each(copyTo(targetLibPath))
alterPaths("Gremlin-Plugin-Paths", targetPluginPath, artifact)
alterPaths("Gremlin-Lib-Paths", targetLibPath, artifact)
}
+ private static Closure copyTo(final Path path) {
+ return { Path p ->
+ def copying = path.resolve(p.fileName)
+ Files.copy(p, copying, StandardCopyOption.REPLACE_EXISTING)
+ println "Copying - $copying"
+ }
+ }
+
+ /**
+ * Windows places a starting forward slash in the URI that needs to be stripped off or else the
+ * {@code FileSystem} won't properly resolve it.
+ */
+ private static Closure convertUriToPath(final FileSystem fs) {
+ return { URI uri ->
+ def p = SystemUtils.IS_OS_WINDOWS ? uri.path.substring(1) : uri.path
+ return fs.getPath(p)
+ }
+ }
+
private Set<URI> getAdditionalDependencies(final Path extPath, final Artifact artifact) {
try {
def pathToInstalled = extPath.resolve(artifact.artifact + "-" + artifact.version + ".jar")
[2/5] incubator-tinkerpop git commit: Deprecate Transaction.close()
and related methods/enum.
Posted by sp...@apache.org.
Deprecate Transaction.close() and related methods/enum.
Project: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/commit/f94c36c1
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/tree/f94c36c1
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/diff/f94c36c1
Branch: refs/heads/master
Commit: f94c36c11baf5aada0e0990bd7aba198b880aea6
Parents: ce5680e
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Fri Aug 14 07:46:45 2015 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Fri Aug 14 07:46:45 2015 -0400
----------------------------------------------------------------------
.../gremlin/structure/Transaction.java | 46 ++++++++++++++++++++
.../structure/util/AbstractTransaction.java | 4 ++
2 files changed, 50 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f94c36c1/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/Transaction.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/Transaction.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/Transaction.java
index 820649a..b3eb69e 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/Transaction.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/Transaction.java
@@ -35,6 +35,10 @@ import java.util.function.Function;
* It is expected that this interface be implemented by vendors in a {@link ThreadLocal} fashion. In other words
* transactions are bound to the current thread, which means that any graph operation executed by the thread occurs
* in the context of that transaction and that there may only be one thread executing in a single transaction.
+ * <p/>
+ * It is important to realize that this class is not a "transaction object". It is a class that holds transaction
+ * related methods thus hiding them from the {@link Graph} interface. This object is not meant to be passed around
+ * as a transactional context.
*
* @author Marko A. Rodriguez (http://markorodriguez.com)
* @author Stephen Mallette (http://stephen.genoprime.com)
@@ -85,8 +89,19 @@ public interface Transaction extends Closeable {
/**
* Closes the transaction where the default close behavior defined by {{@link #onClose(Consumer)}} will be
* executed.
+ *
+ * @deprecated As of release 3.0.1 and will not be replaced.
+ * The intention is to no longer have {@code Transaction} implement {@code Closeable} as the
+ * semantics of closing in this context don't make sense. {@code Transaction}
+ * is not a "transaction object" - it exists to hide methods from {@link Graph} that manage a
+ * transaction. Closing it doesn't make much sense. It is also doesn't work quite in the intended
+ * way as it was expected that calls to {@link Graph#close()} would in turn call this method,
+ * however doing so will not properly close all transactions as most graphs operate in a
+ * {@code ThreadLocal} context and so a call to this method would typically just close the
+ * transaction of the current thread.
*/
@Override
+ @Deprecated
public void close();
/**
@@ -98,7 +113,12 @@ public interface Transaction extends Closeable {
/**
* Describes what happens to a transaction on a call to {@link Graph#close()}. This value can be set using
* standard behavior defined in {@link CLOSE_BEHAVIOR} or a mapper {@link Consumer} function.
+ *
+ * @deprecated As of release 3.0.1 and will not be replaced.
+ * Given the deprecation of {@link #close()}, the need to supply a method to set the close
+ * behavior is unecessary.
*/
+ @Deprecated
public Transaction onClose(final Consumer<Transaction> consumer);
/**
@@ -147,6 +167,12 @@ public interface Transaction extends Closeable {
return new UnsupportedOperationException("Graph does not support threaded transactions");
}
+ /**
+ * @deprecated As of release 3.0.1 and will not be replaced.
+ * Given the deprecation of {@link #close()}, the need to supply a method to set the close
+ * behavior is unecessary.
+ */
+ @Deprecated
public static IllegalArgumentException onCloseBehaviorCannotBeNull() {
return new IllegalArgumentException("Transaction behavior for onClose cannot be null");
}
@@ -159,11 +185,21 @@ public interface Transaction extends Closeable {
/**
* Behaviors to supply to the {@link #onClose(Consumer)}. The semantics of these behaviors must be examined in
* the context of the implementation. In most cases, these behaviors will be applied as {{@link ThreadLocal}}.
+ *
+ * @deprecated As of release 3.0.1 and will not be replaced.
+ * Given the deprecation of {@link #close()}, the need to supply a method to set the close
+ * behavior is unecessary.
*/
+ @Deprecated
public enum CLOSE_BEHAVIOR implements Consumer<Transaction> {
/**
* Commit the transaction when {@link #close()} is called.
+ *
+ * @deprecated As of release 3.0.1 and will not be replaced.
+ * Given the deprecation of {@link #close()}, the need to supply a method to set the close
+ * behavior is unecessary.
*/
+ @Deprecated
COMMIT {
@Override
public void accept(final Transaction transaction) {
@@ -173,7 +209,12 @@ public interface Transaction extends Closeable {
/**
* Rollback the transaction when {@link #close()} is called.
+ *
+ * @deprecated As of release 3.0.1 and will not be replaced.
+ * Given the deprecation of {@link #close()}, the need to supply a method to set the close
+ * behavior is unecessary.
*/
+ @Deprecated
ROLLBACK {
@Override
public void accept(final Transaction transaction) {
@@ -183,7 +224,12 @@ public interface Transaction extends Closeable {
/**
* Throw an exception if the current transaction is open when {@link #close()} is called.
+ *
+ * @deprecated As of release 3.0.1 and will not be replaced.
+ * Given the deprecation of {@link #close()}, the need to supply a method to set the close
+ * behavior is unecessary.
*/
+ @Deprecated
MANUAL {
@Override
public void accept(final Transaction transaction) {
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f94c36c1/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/AbstractTransaction.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/AbstractTransaction.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/AbstractTransaction.java
index 490dcc5..3b3fd6d 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/AbstractTransaction.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/AbstractTransaction.java
@@ -126,7 +126,11 @@ public abstract class AbstractTransaction implements Transaction {
readWriteConsumer.accept(this);
}
+ /**
+ * {@inheritDoc}
+ */
@Override
+ @Deprecated
public void close() {
closeConsumer.accept(this);
}