http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e9801e6a/gremlin-python/src/test/resources/org/apache/tinkerpop/gremlin/python/driver/generate-modern.groovy
----------------------------------------------------------------------
diff --git a/gremlin-python/src/test/resources/org/apache/tinkerpop/gremlin/python/driver/generate-modern.groovy
b/gremlin-python/src/test/resources/org/apache/tinkerpop/gremlin/python/driver/generate-modern.groovy
deleted file mode 100644
index 23b4a61..0000000
--- a/gremlin-python/src/test/resources/org/apache/tinkerpop/gremlin/python/driver/generate-modern.groovy
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * 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.
- */
-
-// an init script that returns a Map allows explicit setting of global bindings.
-def globals = [:]
-
-// Generates the modern graph into an "empty" TinkerGraph via LifeCycleHook.
-// Note that the name of the key in the "global" map is unimportant.
-globals << [hook : [
- onStartUp: { ctx ->
- ctx.logger.info("Loading 'modern' graph data.")
- TinkerFactory.generateModern(graph)
- }
-] as LifeCycleHook]
-
-// define the default TraversalSource to bind queries to - this one will be named "g".
-globals << [g : graph.traversal()]
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e9801e6a/gremlin-python/src/test/resources/org/apache/tinkerpop/gremlin/python/driver/gremlin-server-modern-secure-py.yaml
----------------------------------------------------------------------
diff --git a/gremlin-python/src/test/resources/org/apache/tinkerpop/gremlin/python/driver/gremlin-server-modern-secure-py.yaml
b/gremlin-python/src/test/resources/org/apache/tinkerpop/gremlin/python/driver/gremlin-server-modern-secure-py.yaml
deleted file mode 100644
index a1b595f..0000000
--- a/gremlin-python/src/test/resources/org/apache/tinkerpop/gremlin/python/driver/gremlin-server-modern-secure-py.yaml
+++ /dev/null
@@ -1,63 +0,0 @@
-# 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 gremlin-python dependencies in
-# its distributions. This file cannot be used as a configuration file
-# to Gremlin Server unless those dependencies are installed on the
-# Gremlin Server path with:
-#
-# bin/gremlin-server.sh -i org.apache.tinkerpop gremlin-python x.y.z
-#
-# The primary change in this file to enable the GremlinJythonScriptEngine
-# is the addition of "gremlin-jython" to the "scriptEngines" field.
-
-host: localhost
-port: 45940
-scriptEvaluationTimeout: 30000
-graphs: {
- graph: src/test/resources/org/apache/tinkerpop/gremlin/python/driver/tinkergraph-empty.properties}
-plugins:
- - tinkerpop.tinkergraph
-scriptEngines: {
- gremlin-groovy: {
- imports: [java.lang.Math],
- staticImports: [java.lang.Math.PI],
- scripts: [src/test/resources/org/apache/tinkerpop/gremlin/python/driver/generate-modern.groovy]},
- gremlin-jython: {},
- gremlin-python: {}
-}
-serializers:
- - { className: org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV1d0, config:
{ ioRegistries: [org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerIoRegistryV1d0]
}} # 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,
config: { ioRegistries: [org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerIoRegistryV1d0]
}} # application/vnd.gremlin-v1.0+json
- - { className: org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerGremlinV2d0,
config: { ioRegistries: [org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerIoRegistryV2d0]
}} # application/vnd.gremlin-v2.0+json
- - { className: org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerV1d0, config:
{ ioRegistries: [org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerIoRegistryV1d0]
}} # application/json
-metrics: {
- slf4jReporter: {enabled: true, interval: 180000}}
-strictTransactionManagement: false
-threadPoolBoss: 1
-maxInitialLineLength: 4096
-maxHeaderSize: 8192
-maxChunkSize: 8192
-maxContentLength: 65536
-maxAccumulationBufferComponents: 1024
-resultIterationBatchSize: 64
-authentication: {
- authenticator: org.apache.tinkerpop.gremlin.server.auth.SimpleAuthenticator,
- config: {
- credentialsDb: src/test/resources/org/apache/tinkerpop/gremlin/python/driver/tinkergraph-credentials.properties}}
-
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e9801e6a/gremlin-python/src/test/resources/org/apache/tinkerpop/gremlin/python/driver/tinkergraph-credentials.properties
----------------------------------------------------------------------
diff --git a/gremlin-python/src/test/resources/org/apache/tinkerpop/gremlin/python/driver/tinkergraph-credentials.properties
b/gremlin-python/src/test/resources/org/apache/tinkerpop/gremlin/python/driver/tinkergraph-credentials.properties
deleted file mode 100644
index 909b92b..0000000
--- a/gremlin-python/src/test/resources/org/apache/tinkerpop/gremlin/python/driver/tinkergraph-credentials.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-#
-# 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.
-#
-gremlin.graph=org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerGraph
-gremlin.tinkergraph.vertexIdManager=LONG
-gremlin.tinkergraph.graphLocation=src/test/resources/org/apache/tinkerpop/gremlin/python/driver/credentials.kryo
-gremlin.tinkergraph.graphFormat=gryo
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e9801e6a/gremlin-python/src/test/resources/org/apache/tinkerpop/gremlin/python/driver/tinkergraph-empty.properties
----------------------------------------------------------------------
diff --git a/gremlin-python/src/test/resources/org/apache/tinkerpop/gremlin/python/driver/tinkergraph-empty.properties
b/gremlin-python/src/test/resources/org/apache/tinkerpop/gremlin/python/driver/tinkergraph-empty.properties
deleted file mode 100644
index e09a13d..0000000
--- a/gremlin-python/src/test/resources/org/apache/tinkerpop/gremlin/python/driver/tinkergraph-empty.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-# 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.
-gremlin.graph=org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerGraph
-gremlin.tinkergraph.vertexIdManager=LONG
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e9801e6a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/Settings.java
----------------------------------------------------------------------
diff --git a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/Settings.java
b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/Settings.java
index 8690206..d0bd8fd 100644
--- a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/Settings.java
+++ b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/Settings.java
@@ -28,6 +28,7 @@ import org.apache.tinkerpop.gremlin.process.traversal.TraversalStrategy;
import org.apache.tinkerpop.gremlin.server.auth.AllowAllAuthenticator;
import org.apache.tinkerpop.gremlin.server.auth.Authenticator;
import org.apache.tinkerpop.gremlin.server.channel.WebSocketChannelizer;
+import org.apache.tinkerpop.gremlin.server.handler.AbstractAuthenticationHandler;
import org.apache.tinkerpop.gremlin.server.util.DefaultGraphManager;
import info.ganglia.gmetric4j.gmetric.GMetric;
import org.apache.tinkerpop.gremlin.server.op.session.SessionOpProcessor;
@@ -409,7 +410,7 @@ public class Settings {
* The fully qualified class name of the {@link Authenticator} implementation. This
class name will be
* used to load the implementation from the classpath. Defaults to {@link AllowAllAuthenticator}
when
* not specified.
- * @deprecated As of release 3.2.5, replaced by {@link authenticator}.
+ * @deprecated As of release 3.2.5, replaced by {@link #authenticator}.
*/
@Deprecated
public String className = AllowAllAuthenticator.class.getName();
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e9801e6a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/util/MetricManager.java
----------------------------------------------------------------------
diff --git a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/util/MetricManager.java
b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/util/MetricManager.java
index 70957c9..12d78fc 100644
--- a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/util/MetricManager.java
+++ b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/util/MetricManager.java
@@ -431,7 +431,10 @@ public enum MetricManager {
* {@link GremlinScriptEngine} implementations achieve greater parity these metrics will
get expanded.
*/
public void registerGremlinScriptEngineMetrics(final GremlinScriptEngine engine, final
String... prefix) {
- if (engine instanceof GremlinGroovyScriptEngine) {
+ // only register if metrics aren't already registered. typically only happens in
testing where two gremlin
+ // server instances are running in the same jvm. they will share the same metrics
if that is the case since
+ // the MetricsManager is static
+ if (engine instanceof GremlinGroovyScriptEngine && getRegistry().getNames().stream().noneMatch(n
-> n.endsWith("long-run-compilation-count"))) {
final GremlinGroovyScriptEngine gremlinGroovyScriptEngine = (GremlinGroovyScriptEngine)
engine;
getRegistry().register(
MetricRegistry.name(GremlinServer.class, ArrayUtils.add(prefix, "long-run-compilation-count")),
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e9801e6a/gremlin-server/src/test/scripts/test-server-start.groovy
----------------------------------------------------------------------
diff --git a/gremlin-server/src/test/scripts/test-server-start.groovy b/gremlin-server/src/test/scripts/test-server-start.groovy
new file mode 100644
index 0000000..83efcd5
--- /dev/null
+++ b/gremlin-server/src/test/scripts/test-server-start.groovy
@@ -0,0 +1,49 @@
+/*
+ * 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.
+ */
+
+import org.apache.tinkerpop.gremlin.server.GremlinServer
+import org.apache.tinkerpop.gremlin.server.Settings
+import org.apache.tinkerpop.gremlin.server.auth.SimpleAuthenticator
+
+if (Boolean.parseBoolean(skipTests)) return
+
+log.info("Starting Gremlin Server instances for native testing of ${executionName}")
+def settings = Settings.read("${gremlinServerDir}/conf/gremlin-server-modern-py.yaml")
+settings.graphs.graph = gremlinServerDir + "/conf/tinkergraph-empty.properties"
+settings.scriptEngines["gremlin-groovy"].scripts = [gremlinServerDir + "/scripts/generate-modern.groovy"]
+settings.port = 45940
+
+def server = new GremlinServer(settings)
+server.start().join()
+
+project.setContextValue("gremlin.server", server)
+log.info("Gremlin Server with no authentication started on port 45940")
+
+def settingsSecure = Settings.read("${gremlinServerDir}/conf/gremlin-server-modern.yaml")
+settingsSecure.graphs.graph = gremlinServerDir + "/conf/tinkergraph-empty.properties"
+settingsSecure.scriptEngines["gremlin-groovy"].scripts = [gremlinServerDir + "/scripts/generate-modern.groovy"]
+settingsSecure.port = 45941
+settingsSecure.authentication.className = SimpleAuthenticator.class.name
+settingsSecure.authentication.config = [credentialsDb: gremlinServerDir + "/conf/tinkergraph-credentials.properties",
credentialsDbLocation: gremlinServerDir + "/data/credentials.kryo"]
+
+def serverSecure = new GremlinServer(settingsSecure)
+serverSecure.start().join()
+
+project.setContextValue("gremlin.server.secure", serverSecure)
+log.info("Gremlin Server with authentication started on port 45941")
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e9801e6a/gremlin-server/src/test/scripts/test-server-stop.groovy
----------------------------------------------------------------------
diff --git a/gremlin-server/src/test/scripts/test-server-stop.groovy b/gremlin-server/src/test/scripts/test-server-stop.groovy
new file mode 100644
index 0000000..595d9bd
--- /dev/null
+++ b/gremlin-server/src/test/scripts/test-server-stop.groovy
@@ -0,0 +1,32 @@
+/*
+ * 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.
+ */
+
+if (Boolean.parseBoolean(skipTests)) return
+
+log.info("Tests for native ${executionName} complete")
+
+def server = project.getContextValue("gremlin.server")
+log.info("Shutting down $server")
+server.stop().join()
+
+def serverSecure = project.getContextValue("gremlin.server.secure")
+log.info("Shutting down $serverSecure")
+serverSecure.stop().join()
+
+log.info("All Gremlin Server instances are shutdown for ${executionName}")
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e9801e6a/hadoop-gremlin/pom.xml
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/pom.xml b/hadoop-gremlin/pom.xml
index f002e3f..3ed26d4 100644
--- a/hadoop-gremlin/pom.xml
+++ b/hadoop-gremlin/pom.xml
@@ -221,6 +221,20 @@ limitations under the License.
<plugin>
<groupId>org.codehaus.gmavenplus</groupId>
<artifactId>gmavenplus-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>addSources</goal>
+ <goal>addTestSources</goal>
+ <goal>generateStubs</goal>
+ <goal>compile</goal>
+ <goal>generateTestStubs</goal>
+ <goal>compileTests</goal>
+ <goal>removeStubs</goal>
+ <goal>removeTestStubs</goal>
+ </goals>
+ </execution>
+ </executions>
</plugin>
</plugins>
</build>
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e9801e6a/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 57d1262..867aaf4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -462,21 +462,7 @@ limitations under the License.
<plugin>
<groupId>org.codehaus.gmavenplus</groupId>
<artifactId>gmavenplus-plugin</artifactId>
- <version>1.5</version>
- <executions>
- <execution>
- <goals>
- <goal>addSources</goal>
- <goal>addTestSources</goal>
- <goal>generateStubs</goal>
- <goal>compile</goal>
- <goal>testGenerateStubs</goal>
- <goal>testCompile</goal>
- <goal>removeStubs</goal>
- <goal>removeTestStubs</goal>
- </goals>
- </execution>
- </executions>
+ <version>1.6</version>
<configuration>
<targetBytecode>1.8</targetBytecode>
<invokeDynamic>true</invokeDynamic>
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e9801e6a/spark-gremlin/pom.xml
----------------------------------------------------------------------
diff --git a/spark-gremlin/pom.xml b/spark-gremlin/pom.xml
index dc3c0ea..560e236 100644
--- a/spark-gremlin/pom.xml
+++ b/spark-gremlin/pom.xml
@@ -361,6 +361,20 @@
<plugin>
<groupId>org.codehaus.gmavenplus</groupId>
<artifactId>gmavenplus-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>addSources</goal>
+ <goal>addTestSources</goal>
+ <goal>generateStubs</goal>
+ <goal>compile</goal>
+ <goal>generateTestStubs</goal>
+ <goal>compileTests</goal>
+ <goal>removeStubs</goal>
+ <goal>removeTestStubs</goal>
+ </goals>
+ </execution>
+ </executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
|