[
https://issues.apache.org/jira/browse/JENA-2349?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Holger Knublauch updated JENA-2349:
-----------------------------------
Description:
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.)
was:
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.
> 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]