[jira] [Commented] (TINKERPOP-1438) Consider GraphManager as an interface

2017-03-30 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/TINKERPOP-1438?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15950100#comment-15950100
 ] 

ASF GitHub Bot commented on TINKERPOP-1438:
---

Github user dpitera commented on the issue:

https://github.com/apache/tinkerpop/pull/569
  
IT tests passed! 
```
[INFO] Reactor Summary:
[INFO]
[INFO] Apache TinkerPop .. SUCCESS 
[1:31.220s]
[INFO] Apache TinkerPop :: Gremlin Shaded  SUCCESS [12.183s]
[INFO] Apache TinkerPop :: Gremlin Core .. SUCCESS 
[1:15.039s]
[INFO] Apache TinkerPop :: Gremlin Test .. SUCCESS [9.752s]
[INFO] Apache TinkerPop :: Gremlin Groovy  SUCCESS 
[2:50.074s]
[INFO] Apache TinkerPop :: Gremlin Groovy Test ... SUCCESS [5.952s]
[INFO] Apache TinkerPop :: TinkerGraph Gremlin ... SUCCESS 
[4:44.315s]
[INFO] Apache TinkerPop :: Gremlin Benchmark . SUCCESS [10.434s]
[INFO] Apache TinkerPop :: Gremlin Driver  SUCCESS [15.460s]
[INFO] Apache TinkerPop :: Neo4j Gremlin . SUCCESS [4.899s]
[INFO] Apache TinkerPop :: Gremlin Server  SUCCESS 
[16:15.318s]
[INFO] Apache TinkerPop :: Gremlin Python  SUCCESS [19.874s]
[INFO] Apache TinkerPop :: Hadoop Gremlin  SUCCESS 
[11:05.683s]
[INFO] Apache TinkerPop :: Spark Gremlin . SUCCESS 
[22:49.909s]
[INFO] Apache TinkerPop :: Giraph Gremlin  SUCCESS 
[2:21:03.271s]
[INFO] Apache TinkerPop :: Gremlin Console ... SUCCESS 
[2:56.000s]
[INFO] Apache TinkerPop :: Gremlin Archetype . SUCCESS [0.175s]
[INFO] Apache TinkerPop :: Archetype - TinkerGraph ... SUCCESS [28.255s]
[INFO] Apache TinkerPop :: Archetype - Server  SUCCESS [13.480s]
[INFO] 

[INFO] BUILD SUCCESS
[INFO] 

[INFO] Total time: 3:26:32.403s
[INFO] Finished at: Thu Mar 30 22:40:41 UTC 2017
[INFO] Final Memory: 103M/771M
[INFO] 

```


> Consider GraphManager as an interface
> -
>
> Key: TINKERPOP-1438
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1438
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: server
>Affects Versions: 3.2.2
>Reporter: stephen mallette
>Priority: Minor
>  Labels: breaking
>
> If {{GraphManager}} were an interface it would make embedding Gremlin Server 
> easier as {{Graph}} instances could be more easily supplied by the host 
> application. In doing this, It also might be good to force a 
> {{TraversalSource}} to be referred to by both the {{Graph}} name and  
> {{TraversalSource}} name.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[GitHub] tinkerpop issue #569: TINKERPOP-1438: GraphManager becomes a customizable in...

2017-03-30 Thread dpitera
Github user dpitera commented on the issue:

https://github.com/apache/tinkerpop/pull/569
  
IT tests passed! 
```
[INFO] Reactor Summary:
[INFO]
[INFO] Apache TinkerPop .. SUCCESS 
[1:31.220s]
[INFO] Apache TinkerPop :: Gremlin Shaded  SUCCESS [12.183s]
[INFO] Apache TinkerPop :: Gremlin Core .. SUCCESS 
[1:15.039s]
[INFO] Apache TinkerPop :: Gremlin Test .. SUCCESS [9.752s]
[INFO] Apache TinkerPop :: Gremlin Groovy  SUCCESS 
[2:50.074s]
[INFO] Apache TinkerPop :: Gremlin Groovy Test ... SUCCESS [5.952s]
[INFO] Apache TinkerPop :: TinkerGraph Gremlin ... SUCCESS 
[4:44.315s]
[INFO] Apache TinkerPop :: Gremlin Benchmark . SUCCESS [10.434s]
[INFO] Apache TinkerPop :: Gremlin Driver  SUCCESS [15.460s]
[INFO] Apache TinkerPop :: Neo4j Gremlin . SUCCESS [4.899s]
[INFO] Apache TinkerPop :: Gremlin Server  SUCCESS 
[16:15.318s]
[INFO] Apache TinkerPop :: Gremlin Python  SUCCESS [19.874s]
[INFO] Apache TinkerPop :: Hadoop Gremlin  SUCCESS 
[11:05.683s]
[INFO] Apache TinkerPop :: Spark Gremlin . SUCCESS 
[22:49.909s]
[INFO] Apache TinkerPop :: Giraph Gremlin  SUCCESS 
[2:21:03.271s]
[INFO] Apache TinkerPop :: Gremlin Console ... SUCCESS 
[2:56.000s]
[INFO] Apache TinkerPop :: Gremlin Archetype . SUCCESS [0.175s]
[INFO] Apache TinkerPop :: Archetype - TinkerGraph ... SUCCESS [28.255s]
[INFO] Apache TinkerPop :: Archetype - Server  SUCCESS [13.480s]
[INFO] 

[INFO] BUILD SUCCESS
[INFO] 

[INFO] Total time: 3:26:32.403s
[INFO] Finished at: Thu Mar 30 22:40:41 UTC 2017
[INFO] Final Memory: 103M/771M
[INFO] 

```


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] tinkerpop issue #589: provide examples where merge operator actually has an ...

2017-03-30 Thread mpollmeier
Github user mpollmeier commented on the issue:

https://github.com/apache/tinkerpop/pull/589
  
@spmallette I'm also surprised, but not a docker expert. I'm happy to try 
out other stuff to get to the bottom of that problem, just let me know if you 
have some idea. 

@robertdale Re the examples without sack: I don't mind, they just didn't 
look very interesting to me. I just added them back in, same goes for withBulk


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Closed] (TINKERPOP-1642) Improve performance of mutating traversals

2017-03-30 Thread Marko A. Rodriguez (JIRA)

 [ 
https://issues.apache.org/jira/browse/TINKERPOP-1642?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Marko A. Rodriguez closed TINKERPOP-1642.
-
   Resolution: Fixed
Fix Version/s: 3.2.5

> Improve performance of mutating traversals
> --
>
> Key: TINKERPOP-1642
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1642
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: process
>Affects Versions: 3.2.4
>Reporter: stephen mallette
>Assignee: stephen mallette
>Priority: Critical
> Fix For: 3.2.5
>
>
> Make an attempt improve performance of mutating traversals. Some general 
> goals for this ticket should be to:
> 1. Improve performance parity of structure and process methods for modifying 
> the graph - structure is pretty far ahead.
> 2. Improve the speed of large chained mutating traversals - see 
> http://stackoverflow.com/q/41926409/1831717
> 3. Determine ways to make these performance improvements in {{gremlin-core}} 
> so that they may benefit all {{Graph}} implementations
> 4. Improve the speed of TinkerGraph specifically if possible as it is used 
> for subgraphing functions in many cases and ends up being useful regardless 
> of the graph implementation ultimately used.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (TINKERPOP-1642) Improve performance of mutating traversals

2017-03-30 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/TINKERPOP-1642?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15949703#comment-15949703
 ] 

ASF GitHub Bot commented on TINKERPOP-1642:
---

Github user asfgit closed the pull request at:

https://github.com/apache/tinkerpop/pull/587


> Improve performance of mutating traversals
> --
>
> Key: TINKERPOP-1642
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1642
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: process
>Affects Versions: 3.2.4
>Reporter: stephen mallette
>Assignee: stephen mallette
>Priority: Critical
>
> Make an attempt improve performance of mutating traversals. Some general 
> goals for this ticket should be to:
> 1. Improve performance parity of structure and process methods for modifying 
> the graph - structure is pretty far ahead.
> 2. Improve the speed of large chained mutating traversals - see 
> http://stackoverflow.com/q/41926409/1831717
> 3. Determine ways to make these performance improvements in {{gremlin-core}} 
> so that they may benefit all {{Graph}} implementations
> 4. Improve the speed of TinkerGraph specifically if possible as it is used 
> for subgraphing functions in many cases and ends up being useful regardless 
> of the graph implementation ultimately used.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[GitHub] tinkerpop pull request #587: TINKERPOP-1642 Performance Enhancement on Mutat...

2017-03-30 Thread asfgit
Github user asfgit closed the pull request at:

https://github.com/apache/tinkerpop/pull/587


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Commented] (TINKERPOP-1642) Improve performance of mutating traversals

2017-03-30 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/TINKERPOP-1642?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15949673#comment-15949673
 ] 

ASF GitHub Bot commented on TINKERPOP-1642:
---

Github user robertdale commented on the issue:

https://github.com/apache/tinkerpop/pull/587
  
My app tests pass. Also noticed a slight reduction in test time. :grinning:

VOTE +1


> Improve performance of mutating traversals
> --
>
> Key: TINKERPOP-1642
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1642
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: process
>Affects Versions: 3.2.4
>Reporter: stephen mallette
>Assignee: stephen mallette
>Priority: Critical
>
> Make an attempt improve performance of mutating traversals. Some general 
> goals for this ticket should be to:
> 1. Improve performance parity of structure and process methods for modifying 
> the graph - structure is pretty far ahead.
> 2. Improve the speed of large chained mutating traversals - see 
> http://stackoverflow.com/q/41926409/1831717
> 3. Determine ways to make these performance improvements in {{gremlin-core}} 
> so that they may benefit all {{Graph}} implementations
> 4. Improve the speed of TinkerGraph specifically if possible as it is used 
> for subgraphing functions in many cases and ends up being useful regardless 
> of the graph implementation ultimately used.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[GitHub] tinkerpop issue #587: TINKERPOP-1642 Performance Enhancement on Mutating Tra...

2017-03-30 Thread robertdale
Github user robertdale commented on the issue:

https://github.com/apache/tinkerpop/pull/587
  
My app tests pass. Also noticed a slight reduction in test time. :grinning:

VOTE +1


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Commented] (TINKERPOP-1657) Provide abstraction to easily allow different HttpAuth schemes

2017-03-30 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/TINKERPOP-1657?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15949650#comment-15949650
 ] 

ASF GitHub Bot commented on TINKERPOP-1657:
---

Github user krlohnes commented on a diff in the pull request:

https://github.com/apache/tinkerpop/pull/583#discussion_r109015220
  
--- Diff: 
gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/handler/AuthenticationHandler.java
 ---
@@ -0,0 +1,52 @@
+/*
+ * 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.
+ */
+package org.apache.tinkerpop.gremlin.server.handler;
+
+import io.netty.channel.ChannelFutureListener;
+import io.netty.channel.ChannelHandlerContext;
+import io.netty.channel.ChannelInboundHandlerAdapter;
+import io.netty.handler.codec.http.DefaultFullHttpResponse;
+import io.netty.handler.codec.http.FullHttpMessage;
+import io.netty.util.ReferenceCountUtil;
+import org.apache.tinkerpop.gremlin.server.auth.AuthenticationException;
+import org.apache.tinkerpop.gremlin.server.auth.Authenticator;
+
+import java.nio.charset.Charset;
+import java.util.Base64;
+import java.util.HashMap;
+import java.util.Map;
+
+import static io.netty.handler.codec.http.HttpResponseStatus.UNAUTHORIZED;
+import static io.netty.handler.codec.http.HttpVersion.HTTP_1_1;
+import static 
org.apache.tinkerpop.gremlin.groovy.plugin.dsl.credential.CredentialGraphTokens.PROPERTY_PASSWORD;
+import static 
org.apache.tinkerpop.gremlin.groovy.plugin.dsl.credential.CredentialGraphTokens.PROPERTY_USERNAME;
+
+/**
+ * Provides an abstraction point to allow for http auth schemes beyond 
basic auth.
+ */
+import io.netty.channel.ChannelInboundHandlerAdapter;
+
+public abstract class AuthenticationHandler extends 
ChannelInboundHandlerAdapter {
--- End diff --

Fixed


> Provide abstraction to easily allow different HttpAuth schemes
> --
>
> Key: TINKERPOP-1657
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1657
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: server
>Reporter: Keith Lohnes
>
> The current HttpChannelizer allows for extension through an Authenticator 
> class supplied through the authorization settings. There isn't, however, an 
> extension point for an authentication handler. Currently the choice is 
> between the `AllowAllAuthenticator` or the `HttpBasicAuthenticationHandler`. 
> One would need to create a new channelizer where the HttpChannelizer would 
> suffice. Creating an abstract class that can be extended would make it easier 
> to extend Authentication for things like token authentication schemes.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (TINKERPOP-1657) Provide abstraction to easily allow different HttpAuth schemes

2017-03-30 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/TINKERPOP-1657?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15949649#comment-15949649
 ] 

ASF GitHub Bot commented on TINKERPOP-1657:
---

Github user krlohnes commented on a diff in the pull request:

https://github.com/apache/tinkerpop/pull/583#discussion_r109015202
  
--- Diff: 
gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/Settings.java 
---
@@ -387,6 +387,18 @@ public SerializerSettings() {}
 public String className = AllowAllAuthenticator.class.getName();
 
 /**
+ * Enable audit logging of authenticated users and gremlin 
evaluation requests.
+ */
+public boolean enableAuditLog = false;
+
+/**
+ * The fully qualified class name of the {@link 
AuthenticationHandler} implementation.
+ * This class name will be used to load the implementation from 
the classpath.
+ * Defaults to null when not specified.
+ */
+public String handlerClassName = null;
--- End diff --

Fixed


> Provide abstraction to easily allow different HttpAuth schemes
> --
>
> Key: TINKERPOP-1657
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1657
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: server
>Reporter: Keith Lohnes
>
> The current HttpChannelizer allows for extension through an Authenticator 
> class supplied through the authorization settings. There isn't, however, an 
> extension point for an authentication handler. Currently the choice is 
> between the `AllowAllAuthenticator` or the `HttpBasicAuthenticationHandler`. 
> One would need to create a new channelizer where the HttpChannelizer would 
> suffice. Creating an abstract class that can be extended would make it easier 
> to extend Authentication for things like token authentication schemes.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[GitHub] tinkerpop pull request #583: TINKERPOP-1657 Provide abstraction to easily al...

2017-03-30 Thread krlohnes
Github user krlohnes commented on a diff in the pull request:

https://github.com/apache/tinkerpop/pull/583#discussion_r109015202
  
--- Diff: 
gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/Settings.java 
---
@@ -387,6 +387,18 @@ public SerializerSettings() {}
 public String className = AllowAllAuthenticator.class.getName();
 
 /**
+ * Enable audit logging of authenticated users and gremlin 
evaluation requests.
+ */
+public boolean enableAuditLog = false;
+
+/**
+ * The fully qualified class name of the {@link 
AuthenticationHandler} implementation.
+ * This class name will be used to load the implementation from 
the classpath.
+ * Defaults to null when not specified.
+ */
+public String handlerClassName = null;
--- End diff --

Fixed


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] tinkerpop pull request #583: TINKERPOP-1657 Provide abstraction to easily al...

2017-03-30 Thread krlohnes
Github user krlohnes commented on a diff in the pull request:

https://github.com/apache/tinkerpop/pull/583#discussion_r109015184
  
--- Diff: 
gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/Settings.java 
---
@@ -387,6 +387,18 @@ public SerializerSettings() {}
 public String className = AllowAllAuthenticator.class.getName();
 
 /**
+ * Enable audit logging of authenticated users and gremlin 
evaluation requests.
+ */
+public boolean enableAuditLog = false;
--- End diff --

Fixed


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] tinkerpop pull request #583: TINKERPOP-1657 Provide abstraction to easily al...

2017-03-30 Thread krlohnes
Github user krlohnes commented on a diff in the pull request:

https://github.com/apache/tinkerpop/pull/583#discussion_r109015220
  
--- Diff: 
gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/handler/AuthenticationHandler.java
 ---
@@ -0,0 +1,52 @@
+/*
+ * 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.
+ */
+package org.apache.tinkerpop.gremlin.server.handler;
+
+import io.netty.channel.ChannelFutureListener;
+import io.netty.channel.ChannelHandlerContext;
+import io.netty.channel.ChannelInboundHandlerAdapter;
+import io.netty.handler.codec.http.DefaultFullHttpResponse;
+import io.netty.handler.codec.http.FullHttpMessage;
+import io.netty.util.ReferenceCountUtil;
+import org.apache.tinkerpop.gremlin.server.auth.AuthenticationException;
+import org.apache.tinkerpop.gremlin.server.auth.Authenticator;
+
+import java.nio.charset.Charset;
+import java.util.Base64;
+import java.util.HashMap;
+import java.util.Map;
+
+import static io.netty.handler.codec.http.HttpResponseStatus.UNAUTHORIZED;
+import static io.netty.handler.codec.http.HttpVersion.HTTP_1_1;
+import static 
org.apache.tinkerpop.gremlin.groovy.plugin.dsl.credential.CredentialGraphTokens.PROPERTY_PASSWORD;
+import static 
org.apache.tinkerpop.gremlin.groovy.plugin.dsl.credential.CredentialGraphTokens.PROPERTY_USERNAME;
+
+/**
+ * Provides an abstraction point to allow for http auth schemes beyond 
basic auth.
+ */
+import io.netty.channel.ChannelInboundHandlerAdapter;
+
+public abstract class AuthenticationHandler extends 
ChannelInboundHandlerAdapter {
--- End diff --

Fixed


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Commented] (TINKERPOP-1657) Provide abstraction to easily allow different HttpAuth schemes

2017-03-30 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/TINKERPOP-1657?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15949648#comment-15949648
 ] 

ASF GitHub Bot commented on TINKERPOP-1657:
---

Github user krlohnes commented on a diff in the pull request:

https://github.com/apache/tinkerpop/pull/583#discussion_r109015184
  
--- Diff: 
gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/Settings.java 
---
@@ -387,6 +387,18 @@ public SerializerSettings() {}
 public String className = AllowAllAuthenticator.class.getName();
 
 /**
+ * Enable audit logging of authenticated users and gremlin 
evaluation requests.
+ */
+public boolean enableAuditLog = false;
--- End diff --

Fixed


> Provide abstraction to easily allow different HttpAuth schemes
> --
>
> Key: TINKERPOP-1657
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1657
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: server
>Reporter: Keith Lohnes
>
> The current HttpChannelizer allows for extension through an Authenticator 
> class supplied through the authorization settings. There isn't, however, an 
> extension point for an authentication handler. Currently the choice is 
> between the `AllowAllAuthenticator` or the `HttpBasicAuthenticationHandler`. 
> One would need to create a new channelizer where the HttpChannelizer would 
> suffice. Creating an abstract class that can be extended would make it easier 
> to extend Authentication for things like token authentication schemes.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (TINKERPOP-1657) Provide abstraction to easily allow different HttpAuth schemes

2017-03-30 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/TINKERPOP-1657?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15949621#comment-15949621
 ] 

ASF GitHub Bot commented on TINKERPOP-1657:
---

Github user robertdale commented on the issue:

https://github.com/apache/tinkerpop/pull/583
  
One thing I haven't had much time to think about here is how to propagate 
ssl client authentication up (into an authentication handler). Right now it's 
at the channel level only.  That means it is independent of other 
authentication mechanisms for better or worse.  Permutations to consider:

- needClientAuth REQUIRE, no auth handler: ssl client auth required but no 
logging of the client
- needClientAuth REQUIRE, +auth handler: both are always required
- needClientAuth OPTIONAL, no auth handler: same as NO SECURITY!
- needClientAuth OPTIONAL, +auth handler: auth handler always required

So one option is to create ssl client auth's own Channel and Auth Handlers 
thus disallowing mixing.  One of the limitations of the current system is what 
information is available to the Auth handler. So another option is to add 
whatever information is required to pass along the fact that ssl client auth 
worked then the auth handler could make its own determination as to if further 
authentication is required.  A more complex option would be to introduce 
authentication chaining thus allowing multiple mechanisms and some sort of 
requirement scheme - required, sufficient, etc.

I don't know if this PR does help or can help with any of that.   Just some 
food for thought...


> Provide abstraction to easily allow different HttpAuth schemes
> --
>
> Key: TINKERPOP-1657
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1657
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: server
>Reporter: Keith Lohnes
>
> The current HttpChannelizer allows for extension through an Authenticator 
> class supplied through the authorization settings. There isn't, however, an 
> extension point for an authentication handler. Currently the choice is 
> between the `AllowAllAuthenticator` or the `HttpBasicAuthenticationHandler`. 
> One would need to create a new channelizer where the HttpChannelizer would 
> suffice. Creating an abstract class that can be extended would make it easier 
> to extend Authentication for things like token authentication schemes.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[GitHub] tinkerpop issue #583: TINKERPOP-1657 Provide abstraction to easily allow dif...

2017-03-30 Thread robertdale
Github user robertdale commented on the issue:

https://github.com/apache/tinkerpop/pull/583
  
One thing I haven't had much time to think about here is how to propagate 
ssl client authentication up (into an authentication handler). Right now it's 
at the channel level only.  That means it is independent of other 
authentication mechanisms for better or worse.  Permutations to consider:

- needClientAuth REQUIRE, no auth handler: ssl client auth required but no 
logging of the client
- needClientAuth REQUIRE, +auth handler: both are always required
- needClientAuth OPTIONAL, no auth handler: same as NO SECURITY!
- needClientAuth OPTIONAL, +auth handler: auth handler always required

So one option is to create ssl client auth's own Channel and Auth Handlers 
thus disallowing mixing.  One of the limitations of the current system is what 
information is available to the Auth handler. So another option is to add 
whatever information is required to pass along the fact that ssl client auth 
worked then the auth handler could make its own determination as to if further 
authentication is required.  A more complex option would be to introduce 
authentication chaining thus allowing multiple mechanisms and some sort of 
requirement scheme - required, sufficient, etc.

I don't know if this PR does help or can help with any of that.   Just some 
food for thought...


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Closed] (TINKERPOP-1659) Docker build should use maven settings.xml

2017-03-30 Thread Robert Dale (JIRA)

 [ 
https://issues.apache.org/jira/browse/TINKERPOP-1659?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Robert Dale closed TINKERPOP-1659.
--
Resolution: Fixed

> Docker build should use maven settings.xml
> --
>
> Key: TINKERPOP-1659
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1659
> Project: TinkerPop
>  Issue Type: Test
>  Components: build-release
>Affects Versions: 3.1.6
>Reporter: Robert Dale
>Assignee: Robert Dale
>Priority: Minor
> Fix For: 3.1.7
>
> Attachments: settings.xml
>
>
> One should be able to supply a custom settings.xml to docker.  My use case is 
> to use a proxy in order to speed up downloading maven artifacts.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (TINKERPOP-1438) Consider GraphManager as an interface

2017-03-30 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/TINKERPOP-1438?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15949211#comment-15949211
 ] 

ASF GitHub Bot commented on TINKERPOP-1438:
---

Github user dpitera commented on the issue:

https://github.com/apache/tinkerpop/pull/569
  
>  I think we want the behavior to generally be a "replace" and thus 
"putTraversalSource()" and "putGraph()" seem like better names. 

+1

> This has developed into a really nice pull request. Your effort on it is 
appreciated.

Thank you sir. Your outstanding review is also very much appreciated.


I just pushed new code with all requested changes; once the TravisCI and 
Docker IT tests pass, I will post again for hopefully the final review. 


> Consider GraphManager as an interface
> -
>
> Key: TINKERPOP-1438
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1438
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: server
>Affects Versions: 3.2.2
>Reporter: stephen mallette
>Priority: Minor
>  Labels: breaking
>
> If {{GraphManager}} were an interface it would make embedding Gremlin Server 
> easier as {{Graph}} instances could be more easily supplied by the host 
> application. In doing this, It also might be good to force a 
> {{TraversalSource}} to be referred to by both the {{Graph}} name and  
> {{TraversalSource}} name.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[GitHub] tinkerpop issue #569: TINKERPOP-1438: GraphManager becomes a customizable in...

2017-03-30 Thread dpitera
Github user dpitera commented on the issue:

https://github.com/apache/tinkerpop/pull/569
  
>  I think we want the behavior to generally be a "replace" and thus 
"putTraversalSource()" and "putGraph()" seem like better names. 

+1

> This has developed into a really nice pull request. Your effort on it is 
appreciated.

Thank you sir. Your outstanding review is also very much appreciated.


I just pushed new code with all requested changes; once the TravisCI and 
Docker IT tests pass, I will post again for hopefully the final review. 


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Commented] (TINKERPOP-1659) Docker build should use maven settings.xml

2017-03-30 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/TINKERPOP-1659?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15949187#comment-15949187
 ] 

ASF GitHub Bot commented on TINKERPOP-1659:
---

Github user asfgit closed the pull request at:

https://github.com/apache/tinkerpop/pull/588


> Docker build should use maven settings.xml
> --
>
> Key: TINKERPOP-1659
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1659
> Project: TinkerPop
>  Issue Type: Test
>  Components: build-release
>Affects Versions: 3.1.6
>Reporter: Robert Dale
>Assignee: Robert Dale
>Priority: Minor
> Fix For: 3.1.7
>
> Attachments: settings.xml
>
>
> One should be able to supply a custom settings.xml to docker.  My use case is 
> to use a proxy in order to speed up downloading maven artifacts.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[GitHub] tinkerpop pull request #588: TINKERPOP-1659 Docker uses custom maven setting...

2017-03-30 Thread asfgit
Github user asfgit closed the pull request at:

https://github.com/apache/tinkerpop/pull/588


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Commented] (TINKERPOP-1659) Docker build should use maven settings.xml

2017-03-30 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/TINKERPOP-1659?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15949019#comment-15949019
 ] 

ASF GitHub Bot commented on TINKERPOP-1659:
---

Github user robertdale commented on the issue:

https://github.com/apache/tinkerpop/pull/588
  
They've started laying fiber in the county. Hopefully they'll bring it all 
the way down my road. But I don't know if that's 1 year or 5 years from now. 
Until then, I'm at the outer limits of DSL.

VOTE +1



> Docker build should use maven settings.xml
> --
>
> Key: TINKERPOP-1659
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1659
> Project: TinkerPop
>  Issue Type: Test
>  Components: build-release
>Affects Versions: 3.1.6
>Reporter: Robert Dale
>Assignee: Robert Dale
>Priority: Minor
> Fix For: 3.1.7
>
> Attachments: settings.xml
>
>
> One should be able to supply a custom settings.xml to docker.  My use case is 
> to use a proxy in order to speed up downloading maven artifacts.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[GitHub] tinkerpop issue #588: TINKERPOP-1659 Docker uses custom maven settings.xml

2017-03-30 Thread robertdale
Github user robertdale commented on the issue:

https://github.com/apache/tinkerpop/pull/588
  
They've started laying fiber in the county. Hopefully they'll bring it all 
the way down my road. But I don't know if that's 1 year or 5 years from now. 
Until then, I'm at the outer limits of DSL.

VOTE +1



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] tinkerpop issue #589: provide examples where merge operator actually has an ...

2017-03-30 Thread robertdale
Github user robertdale commented on the issue:

https://github.com/apache/tinkerpop/pull/589
  
I like how the previous example shows the vertices before applying sack(). 
I think it would be useful to see that before 1 and before 3.

Why was the example withBulk(false) removed?  I don't understand enough 
about it to know if it was useful.

Otherwise, the format and display is correct.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Commented] (TINKERPOP-1438) Consider GraphManager as an interface

2017-03-30 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/TINKERPOP-1438?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15948990#comment-15948990
 ] 

ASF GitHub Bot commented on TINKERPOP-1438:
---

Github user spmallette commented on the issue:

https://github.com/apache/tinkerpop/pull/569
  
I've finished playing around with my dummy implementation. Just one weird 
thing that wasn't easy to see without actually working with the API - 
`addTraversalSource()` and `addGraph()` aren't really "adds" - they are "puts" 
as  calling them more than once will act as a "replace" operation if the key 
already exists. I think we want the behavior to generally be a "replace" and 
thus "putTraversalSource()" and "putGraph()" seem like better names. I suppose 
if an implementation wanted to limit that ability to only "adds" then the 
naming with "put" still makes sense as we can see with the use of `Map.put()` 
in unmodifiable collections.

I see some other odds/ends that could use a tweak or two, but I'll just 
handle those things after merging as I think you have the meat of this PR in 
place now once you address those other comments I've made.  Please confirm that 
you've done a final build with integration tests after all these changes to 
make sure it's all solid. At that point, I expect we can get committers to 
review/vote.

This has developed into a really nice pull request. Your effort on it is 
appreciated.


> Consider GraphManager as an interface
> -
>
> Key: TINKERPOP-1438
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1438
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: server
>Affects Versions: 3.2.2
>Reporter: stephen mallette
>Priority: Minor
>  Labels: breaking
>
> If {{GraphManager}} were an interface it would make embedding Gremlin Server 
> easier as {{Graph}} instances could be more easily supplied by the host 
> application. In doing this, It also might be good to force a 
> {{TraversalSource}} to be referred to by both the {{Graph}} name and  
> {{TraversalSource}} name.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[GitHub] tinkerpop issue #569: TINKERPOP-1438: GraphManager becomes a customizable in...

2017-03-30 Thread spmallette
Github user spmallette commented on the issue:

https://github.com/apache/tinkerpop/pull/569
  
I've finished playing around with my dummy implementation. Just one weird 
thing that wasn't easy to see without actually working with the API - 
`addTraversalSource()` and `addGraph()` aren't really "adds" - they are "puts" 
as  calling them more than once will act as a "replace" operation if the key 
already exists. I think we want the behavior to generally be a "replace" and 
thus "putTraversalSource()" and "putGraph()" seem like better names. I suppose 
if an implementation wanted to limit that ability to only "adds" then the 
naming with "put" still makes sense as we can see with the use of `Map.put()` 
in unmodifiable collections.

I see some other odds/ends that could use a tweak or two, but I'll just 
handle those things after merging as I think you have the meat of this PR in 
place now once you address those other comments I've made.  Please confirm that 
you've done a final build with integration tests after all these changes to 
make sure it's all solid. At that point, I expect we can get committers to 
review/vote.

This has developed into a really nice pull request. Your effort on it is 
appreciated.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Commented] (TINKERPOP-1659) Docker build should use maven settings.xml

2017-03-30 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/TINKERPOP-1659?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15948976#comment-15948976
 ] 

ASF GitHub Bot commented on TINKERPOP-1659:
---

Github user dkuppitz commented on the issue:

https://github.com/apache/tinkerpop/pull/588
  
I recently got faster internet, so -1 on this.

Just kidding :). Looks good to me and actually doesn't change anything in 
the "normal" workflow.

VOTE: +1


> Docker build should use maven settings.xml
> --
>
> Key: TINKERPOP-1659
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1659
> Project: TinkerPop
>  Issue Type: Test
>  Components: build-release
>Affects Versions: 3.1.6
>Reporter: Robert Dale
>Assignee: Robert Dale
>Priority: Minor
> Fix For: 3.1.7
>
> Attachments: settings.xml
>
>
> One should be able to supply a custom settings.xml to docker.  My use case is 
> to use a proxy in order to speed up downloading maven artifacts.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[GitHub] tinkerpop issue #588: TINKERPOP-1659 Docker uses custom maven settings.xml

2017-03-30 Thread dkuppitz
Github user dkuppitz commented on the issue:

https://github.com/apache/tinkerpop/pull/588
  
I recently got faster internet, so -1 on this.

Just kidding :). Looks good to me and actually doesn't change anything in 
the "normal" workflow.

VOTE: +1


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Commented] (TINKERPOP-1438) Consider GraphManager as an interface

2017-03-30 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/TINKERPOP-1438?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15948824#comment-15948824
 ] 

ASF GitHub Bot commented on TINKERPOP-1438:
---

Github user spmallette commented on a diff in the pull request:

https://github.com/apache/tinkerpop/pull/569#discussion_r108893957
  
--- Diff: 
gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/GraphManager.java
 ---
@@ -21,139 +21,101 @@
 import org.apache.tinkerpop.gremlin.process.traversal.TraversalSource;
 import org.apache.tinkerpop.gremlin.structure.Graph;
 import org.apache.tinkerpop.gremlin.structure.Transaction;
-import org.apache.tinkerpop.gremlin.structure.util.GraphFactory;
-import org.apache.tinkerpop.gremlin.util.iterator.IteratorUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import javax.script.Bindings;
-import javax.script.SimpleBindings;
-import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.function.Predicate;
-
-/**
- * Holder for {@link Graph} and {@link TraversalSource} instances 
configured for the server to be passed to script
- * engine bindings. The {@link Graph} instances are read from the {@link 
Settings} for Gremlin Server as defined in
- * the configuration file. The {@link TraversalSource} instances are 
rebound to the {@code GraphManager} once
- * initialization scripts construct them.
- */
-public final class GraphManager {
-private static final Logger logger = 
LoggerFactory.getLogger(GremlinServer.class);
-
-private final Map graphs = new ConcurrentHashMap<>();
-private final Map traversalSources = new 
ConcurrentHashMap<>();
+import java.util.function.Function;
 
+public interface GraphManager {
 /**
- * Create a new instance using the {@link Settings} from Gremlin 
Server.
+ * @Deprecated This returns a {@link Map} that should be immutable. 
Please refer to
+ * getGraphNames() for replacement.
+ *
+ * Get a list of the {@link Graph} instances and their binding names
+ *
+ * @return a {@link Map} where the key is the name of the {@link 
Graph} and the value is the {@link Graph} itself
  */
-public GraphManager(final Settings settings) {
-settings.graphs.entrySet().forEach(e -> {
-try {
-final Graph newGraph = GraphFactory.open(e.getValue());
-graphs.put(e.getKey(), newGraph);
-logger.info("Graph [{}] was successfully configured via 
[{}].", e.getKey(), e.getValue());
-} catch (RuntimeException re) {
-logger.warn(String.format("Graph [%s] configured at [%s] 
could not be instantiated and will not be available in Gremlin Server.  
GraphFactory message: %s",
-e.getKey(), e.getValue(), re.getMessage()), re);
-if (re.getCause() != null) logger.debug("GraphFactory 
exception", re.getCause());
-}
-});
-}
+@Deprecated
+public Map getGraphs();
 
 /**
- * Get a list of the {@link Graph} instances and their binding names 
as defined in the Gremlin Server
- * configuration file.
+ * Get a {@link Set} of {@link String} graphNames corresponding to 
names stored in the graph's
+ * reference tracker.
+ */
+public Set getGraphNames();
+/**
+ * Get {@link Graph} instance whose name matches {@link gName}
  *
- * @return a {@link Map} where the key is the name of the {@link 
Graph} and the value is the {@link Graph} itself
+ * @return {@link Graph} if exists, else null
+ */
+public Graph getGraph(final String gName);
+
+/**
+ * Add {@link Graph} g with name {@link String} gName to
+ * {@link Map}
  */
-public Map getGraphs() {
-return graphs;
-}
+public void addGraph(final String gName, final Graph g);
 
 /**
- * Get a list of the {@link TraversalSource} instances and their 
binding names as defined by Gremlin Server
- * initialization scripts.
+ * Get a list of the {@link TraversalSource} instances and their 
binding names
  *
  * @return a {@link Map} where the key is the name of the {@link 
TraversalSource} and the value is the
  * {@link TraversalSource} itself
  */
-public Map getTraversalSources() {
-return traversalSources;
-}
+public Map 

[GitHub] tinkerpop pull request #569: TINKERPOP-1438: GraphManager becomes a customiz...

2017-03-30 Thread spmallette
Github user spmallette commented on a diff in the pull request:

https://github.com/apache/tinkerpop/pull/569#discussion_r108893957
  
--- Diff: 
gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/GraphManager.java
 ---
@@ -21,139 +21,101 @@
 import org.apache.tinkerpop.gremlin.process.traversal.TraversalSource;
 import org.apache.tinkerpop.gremlin.structure.Graph;
 import org.apache.tinkerpop.gremlin.structure.Transaction;
-import org.apache.tinkerpop.gremlin.structure.util.GraphFactory;
-import org.apache.tinkerpop.gremlin.util.iterator.IteratorUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import javax.script.Bindings;
-import javax.script.SimpleBindings;
-import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.function.Predicate;
-
-/**
- * Holder for {@link Graph} and {@link TraversalSource} instances 
configured for the server to be passed to script
- * engine bindings. The {@link Graph} instances are read from the {@link 
Settings} for Gremlin Server as defined in
- * the configuration file. The {@link TraversalSource} instances are 
rebound to the {@code GraphManager} once
- * initialization scripts construct them.
- */
-public final class GraphManager {
-private static final Logger logger = 
LoggerFactory.getLogger(GremlinServer.class);
-
-private final Map graphs = new ConcurrentHashMap<>();
-private final Map traversalSources = new 
ConcurrentHashMap<>();
+import java.util.function.Function;
 
+public interface GraphManager {
 /**
- * Create a new instance using the {@link Settings} from Gremlin 
Server.
+ * @Deprecated This returns a {@link Map} that should be immutable. 
Please refer to
+ * getGraphNames() for replacement.
+ *
+ * Get a list of the {@link Graph} instances and their binding names
+ *
+ * @return a {@link Map} where the key is the name of the {@link 
Graph} and the value is the {@link Graph} itself
  */
-public GraphManager(final Settings settings) {
-settings.graphs.entrySet().forEach(e -> {
-try {
-final Graph newGraph = GraphFactory.open(e.getValue());
-graphs.put(e.getKey(), newGraph);
-logger.info("Graph [{}] was successfully configured via 
[{}].", e.getKey(), e.getValue());
-} catch (RuntimeException re) {
-logger.warn(String.format("Graph [%s] configured at [%s] 
could not be instantiated and will not be available in Gremlin Server.  
GraphFactory message: %s",
-e.getKey(), e.getValue(), re.getMessage()), re);
-if (re.getCause() != null) logger.debug("GraphFactory 
exception", re.getCause());
-}
-});
-}
+@Deprecated
+public Map getGraphs();
 
 /**
- * Get a list of the {@link Graph} instances and their binding names 
as defined in the Gremlin Server
- * configuration file.
+ * Get a {@link Set} of {@link String} graphNames corresponding to 
names stored in the graph's
+ * reference tracker.
+ */
+public Set getGraphNames();
+/**
+ * Get {@link Graph} instance whose name matches {@link gName}
  *
- * @return a {@link Map} where the key is the name of the {@link 
Graph} and the value is the {@link Graph} itself
+ * @return {@link Graph} if exists, else null
+ */
+public Graph getGraph(final String gName);
+
+/**
+ * Add {@link Graph} g with name {@link String} gName to
+ * {@link Map}
  */
-public Map getGraphs() {
-return graphs;
-}
+public void addGraph(final String gName, final Graph g);
 
 /**
- * Get a list of the {@link TraversalSource} instances and their 
binding names as defined by Gremlin Server
- * initialization scripts.
+ * Get a list of the {@link TraversalSource} instances and their 
binding names
  *
  * @return a {@link Map} where the key is the name of the {@link 
TraversalSource} and the value is the
  * {@link TraversalSource} itself
  */
-public Map getTraversalSources() {
-return traversalSources;
-}
+public Map getTraversalSources();
--- End diff --

I think you just need to deprecate `getTraversalSources()` and include 
`removeTraversalSource(String tsName)` and `getTraversalSourceNames()`. That 
should do it. I could do it after merge, but this body of 

[GitHub] tinkerpop issue #587: TINKERPOP-1642 Performance Enhancement on Mutating Tra...

2017-03-30 Thread dkuppitz
Github user dkuppitz commented on the issue:

https://github.com/apache/tinkerpop/pull/587
  
`docker/build.sh -t -n -i` succeeded.

VOTE: +1


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---