GH2701: Fuseki Mod to list and abort running executions. #3184
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
GitHub issue resolved #2701
Pull request Description: ARQ plugin + Fuseki Plugin to track ongoing query executions:
DatasetGraphWithExecTracker
which wraps another graph and puts aExecTracker
object into its context.QueryEngineFactoryExecTracker
andUpdateEngineFactoryTracker
which handlesDatasetGraphWithExecTracker
by unwrapping the dataset graph and forwarding the execution request again to the execution factory registries. The obtained execution is then tracked in theExecTracker
.It integrates into the existing machinery, but its not perfect because
UpdateEngineFactoryExecTracker
does not see the original UpdateRequest, andContext
of the query execution instances and served in addition with the current JSON output.But still it is already quite useful.
Perhaps this could also serve as a base for discussion about further improvements and any necessary core changes for Jena 6. Ideally the ExecTracker mechanism would not require a wrapping with
DatasetGraphWithExecTracker
and instead this would be handled in the core machinery already. In cases where a specific DatasetGraph implementation is expected, the need for a wrapper to track executions may make things complex.The Fuseki Mod adds a
tracker
endpoint (/dataset/tracker?command=status
) that serves the state of anExecTracker
as JSON. An HTML view is provided that renders the state. Thereby, running executions have a stop button and the last N (by default = 100) completed queries are shown.Jena-Query-Dashboard.webm
By submitting this pull request, I acknowledge that I am making a contribution to the Apache Software Foundation under the terms and conditions of the Contributor's Agreement.
See the Apache Jena "Contributing" guide.