Aklakan opened a new pull request, #3603:
URL: https://github.com/apache/jena/pull/3603
GitHub issue resolved: ( perhaps #3535 )
This PR addresses query timeout issues that I had in mind and that might be
related to #3535 - but it yet needs to be assessed whether that is actually the
case.
Pull request Description:
* Created the TestQueryExecutionCancel class to `jena-integration-tests` and
refactored it for use with different datasets.
* Wired up datasets: mem, TDB2 and Text+TDB2 (aimed for investigating
#3535)
* Added `G.find(cancelSignal, graph, s, p, o)`
* Updated several query engine call sites of `graph.find` with
`G.find(cancelSignal, graph, s, p, o)`
* Updated `IterAbortable` to accept the cancel signal form the ExecCxt.
* Updated code in `jena-geosparql` to use cancellable find.
* There is an unreported issue from my side: Aborting a query on a
DatasetText may break it until server restart. This PR contains a possible fix
for concurrent abort with DatasetText: It seems that synchronizing
`dsText.abort()` with the write transaction lock fixes race conditions that
such as: (1) NPEs in the transaction system and (2) concurrent read access to
the lucene index while it is being rolled back.
* Added `QueryIterFailed` to wrap `QueryIterPeek` should an eager peek fail.
Reason: `QueryIter{Failed,Peek}` are both tracked in the exec cxt. Using this
approach, a failed construction does return an iterator that can be cleanly
closed. Bailing out with exception either (1) had to leave iterators dangling
(warning message) or (2) close the input iterator despite closing not being the
responsibility at that place. Downside: exception is raised only when accessing
an item of that iterator.
----
- [ ] Tests are included.
- [ ] Documentation change and updates are provided for the [Apache Jena
website](https://github.com/apache/jena-site/)
- [ ] Commits have been squashed to remove intermediate development commit
messages.
- [ ] Key commit messages start with the issue number (GH-xxxx)
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](https://www.apache.org/licenses/contributor-agreements.html).
----
See the [Apache Jena "Contributing"
guide](https://github.com/apache/jena/blob/main/CONTRIBUTING.md).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]