sfc-gh-dachristensen opened a new pull request, #2409:
URL: https://github.com/apache/age/pull/2409

   A Cypher query like MATCH (a)-[*]->(b) RETURN * explores all paths of any 
length, consuming unbounded memory and CPU. In VLE_FUNCTION_PATHS_ALL mode, 
every possible path is materialized. The DFS loops (dfs_find_a_path_between, 
dfs_find_a_path_from) also lack CHECK_FOR_INTERRUPTS(), making runaway queries 
uncancellable. When uidx_infinite is true, traversal on cyclic graphs runs 
indefinitely. Unbounded stack growth via push_graphid_stack() calls (lines 
1006, 1134) can consume all available process memory.
   
   In order to address this issue we add a GUC to limit the resources.  We also 
add CHECK_FOR_INTERRUPTS() to the call to allow the cancelation of a high-cycle 
graph computation.


-- 
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]

Reply via email to