Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a numPathsPerTarget parameter to PathSearch #1596

Merged
merged 3 commits into from
Nov 4, 2024

Conversation

JoBuRo
Copy link
Contributor

@JoBuRo JoBuRo commented Oct 30, 2024

When this parameter is set, the PathSearch service limits the number of paths per [source, target] pair. This makes it possible to use the path search for cases where enumerating all paths would exhaust the available time and memory constraints.

Prior to this change, the PathSearch query used a lot of memory for
certain datasets and queries. In that case, the result can not be build
and it is not possible to determine where the problem lies.

This change adds the parameter numPathsPerTarget. The PathSearch will
only search and store paths if the number of paths is lower/equal to the
parameter value.
Copy link

codecov bot commented Oct 30, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 89.11%. Comparing base (05a3f69) to head (2029f22).

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1596      +/-   ##
==========================================
+ Coverage   89.08%   89.11%   +0.03%     
==========================================
  Files         371      371              
  Lines       34437    34456      +19     
  Branches     3899     3903       +4     
==========================================
+ Hits        30678    30706      +28     
+ Misses       2484     2480       -4     
+ Partials     1275     1270       -5     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link
Member

@joka921 joka921 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very minor tweaks

src/engine/PathSearch.cpp Outdated Show resolved Hide resolved
test/PathSearchTest.cpp Show resolved Hide resolved
test/QueryPlannerTest.cpp Show resolved Hide resolved
@JoBuRo JoBuRo requested a review from joka921 October 30, 2024 20:44
Copy link
Member

@joka921 joka921 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the quick fixes.

@sparql-conformance
Copy link

Copy link

sonarcloud bot commented Oct 30, 2024

@joka921 joka921 merged commit e528480 into ad-freiburg:master Nov 4, 2024
20 checks passed
ullingerc pushed a commit to ullingerc/qlever that referenced this pull request Nov 12, 2024
When this parameter is set, the `PathSearch` service limits the number of paths per `[source, target]` pair. This makes it possible to use the path search for cases where enumerating all paths would exhaust the available time and memory constraints.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants