You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tinkerpop.apache.org by "Stephen Mallette (Jira)" <ji...@apache.org> on 2022/11/11 18:08:00 UTC
[jira] [Updated] (TINKERPOP-2806) Provide method for provider plugins to get notified on script/query processing
[ https://issues.apache.org/jira/browse/TINKERPOP-2806?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Stephen Mallette updated TINKERPOP-2806:
----------------------------------------
Issue Type: Improvement (was: Bug)
> Provide method for provider plugins to get notified on script/query processing
> -------------------------------------------------------------------------------
>
> Key: TINKERPOP-2806
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2806
> Project: TinkerPop
> Issue Type: Improvement
> Components: server
> Affects Versions: 3.6.1
> Reporter: Tom Kolanko
> Priority: Minor
> Fix For: 3.6.2
>
>
> What happens in the gremlin-server is more or less a black box for provider plugins. This ticket proposes a change to the GraphManager interface to allow providers to opt into receiving notifications for GremlinExecutor lifecycles.
> The following items could be added to the GraphManager interface:
> /**
> * This method will be called before a script or query is processed by the
> * gremlin-server.
> * The msg is the {@link RequestMessage} received by the gremlin-server.
> */
> default void beforeQueryStart(RequestMessage msg) {
> }
> /**
> * This method will be called before a script or query is processed by the
> * gremlin-server.
> * The msg is the {@link RequestMessage} received by the gremlin-server.
> * The error is the exception encounted during processing from the gremlin-server.
> */
> default void onQueryError(RequestMessage msg, Throwable error) {
> }
> /**
> * When a script or query successfully completes this method will be called.
> * The msg is the {@link RequestMessage} received by the gremlin-server.
> */
> default void onQuerySuccess(RequestMessage msg) {
> }
> In AbstractEvalOpProcessor where the GremlinExector.LifeCycle is created the graphManager can be accessed through the Context and those methods called at each stage of the lifecycle.
> In TraversalOpProcessor the graphManager can also be accessed through context. Similar methods exist to the GremlinExecutor.LifeCycle, those can call the graphManager methods as needed.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)