Github user dpitera commented on the issue:

    https://github.com/apache/tinkerpop/pull/569
  
    > Does this change introduce any compile-time breaking changes for anyone 
who has depended on the GraphManager class (or other things you've modified)?
    
    I believe the answer is no (in the non-mutated use of pure tinkerpop) 
because:
    
    1. The previous implementation's graphManager instantiation could only be 
retrieved by two places:
      1. The 
[ServerGremlinExecutor](https://github.com/apache/tinkerpop/blob/ad51fb24eb4d621763f6b3c02029daa54e7dc20d/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/util/ServerGremlinExecutor.java#L202)
 which is only accessible through the 
[GremlinServer](https://github.com/apache/tinkerpop/blob/c5b9680e70d696d000b945abbd72a3b8a3f97256/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/GremlinServer.java#L328)
 which users do not have access to the instantiation unless they have modified 
their implementor's logic to define its own "GremlinServer" and not use 
Tinkerpop's
      2. The 
[Context](https://github.com/apache/tinkerpop/blob/4293eb333dfbf3aea19cd326f9f3d13619ac0b54/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/Context.java#L80)
 which also is instantiated by the same graphManager pulled from the 
servergremlinexecutor, and the Context class is final (and thus cannot be 
extended) and there is no way to retrieve that `Context` in the code.
    
    Therefore, i am not sure who would have been able to make use of the 
graphManager themselves without using a modified version of tinkerpop.
    
    > Can you elaborate on the usage of openGraph()
    
    The `addGraph()` and `getGraph()` are to act as modifiers to the object 
holding the graph references, while `opengraph()` allows for a mechanism by 
which to instantiate a graph dynamically through the graphManager (and thus 
allow for reference tracking of it) that is not currently in said 
graphManager's reference tracking object. The use of a `Supplier` here allows 
for the implementor to define his/her own custom function by which to 
instantiate the graph
    
    >  If it stays on tp32 I may have to ask you to provide a second pull 
request to master that can also be evaluated as part of a second review/vote.
    
    I would say once we get this one merged, then we can open the PR on master, 
but I would like to get it into the next release as well
    
    > it will likely take a some time and iterations to get through before we 
can get it merged
    
    Sounds good. I usually prefer quality to expediency. When I get around to 
fixing up some of your requests, I will leave a comment here saying I have 
pushed new code.
    
    Thanks for your review. Let me know if you have more questions!


---
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.
---

Reply via email to