Open ate47 opened 1 year ago
I thought sometimes about this. How can one limit the memory consumed by one query. But I never found a really good way. Maybe one could do something like for the timeout. We check in this function how big is the result set that was already generated .... really not sure if this is best solution and if it is possible.
This is probably specifically related to PathIteration. That code should probably detect when it's running low on memory and switch to a disk based data structure for storing the intermediary results.
Yes, the selected collection factory probably does not have a disk basked queue available. Discussing a potential solution at https://github.com/eclipse-rdf4j/rdf4j/issues/4899.
Coded something up in https://github.com/eclipse-rdf4j/rdf4j/pull/4902. Would you have a look and see if that works for qEndpoint. I am especially happy to hear what kind of switch over point in size we should select.
Part of the endpoint? (leave empty if you don't know)
Description of the issue
I was running the query
and the system returned me that
Excepted behavior
error or the result
Obtained behavior
oom
How to reproduce
No response
Endpoint version
1.12.0
Do I want to contribute to fix it?
Maybe
Something else?
No response