[
https://issues.apache.org/jira/browse/JENA-2349?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17631624#comment-17631624
]
Andy Seaborne commented on JENA-2349:
-------------------------------------
Open source works on contributions.
Unless contributions happen (or the project is resourced (Jena isn't)) there
will be no releases for there to be users.
"Community over code."
Running the project takes time and energy from people.
In the time it takes to write the JIRA, you would make a PR.
At least a test case.
Or search the code for other examples.
Do you want a healthy project with clear enterprise-friendly licensing, and CVE
code security dealt with? Code can't just sit here; the environment changes.
There is no Jena contract to close iterators. (SDB is no longer in the
codebase.)
Personally, I don't use GeoSPARQL. The code is valid as it is now (even with
TDB1). If it's the TopQuadrant internal warning code, ignore the warning (as
far as Jena is concerned).
The rule is "don't use an iterator outside the transaction it was created in"
which implies don't pass it across threads.
There is code providing idioms to make that code-friendly. {{Txn}},
{{DatasetGraph.exec}}. The transaction can be started (promotable read
committed) when the request comes in and wrap the rest of the
transaction-obvious processing.
Happy to discuss the functioning of the project further on dev@ with the
developer community.
> GeoSPARQL leaves open iterators
> -------------------------------
>
> Key: JENA-2349
> URL: https://issues.apache.org/jira/browse/JENA-2349
> Project: Apache Jena
> Issue Type: Bug
> Components: GeoSPARQL
> Reporter: Holger Knublauch
> Priority: Major
>
> These two lines in GenericSpatialPropertyFunction L133 do not close the
> iterators created by find(). This causes problems with downstream code (such
> as our product) which expects that all query iterators get closed to have a
> clean transaction boundary.
> Node lat = graph.find(subject, SpatialExtension.GEO_LAT_NODE,
> null).next().getObject();
> Node lon = graph.find(subject, SpatialExtension.GEO_LON_NODE,
> null).next().getObject();
> The above is particularly problematic for MultiUnion graphs, but may also for
> malformed graphs where a subject has two or more geo:lat/long triples.
> (I am not 100% sure that it's exactly the two lines above that are causing
> the unclosed iterators but they look wrong regardless.)
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]