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

WIP: add a check after load to verify graph structure #1342

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

trws
Copy link
Member

@trws trws commented Feb 14, 2025

problem: We don't detect graphs with invalid upward edges in the containment tree

solution: Add a search after load for any non-tree edges of type containment, and blow up hard if we find any.

Some tests still do not pass.

@milroy, this is the WIP stuff we were discussing earlier. The RV1 test that's blowing up is t3027-resource-RV.t, but it looks like it might be an out of range error, and there are some JGFs in use in the file so it's possible it isn't an actual rv1 problem. 🤞

problem: We don't detect graphs with invalid upward edges in the
containment tree

solution: Add a search after load for any non-tree edges of type
containment, and blow up hard if we find any.

Some tests still do not pass.
@trws trws requested a review from milroy February 14, 2025 23:23
@trws trws marked this pull request as draft February 14, 2025 23:23
Copy link

codecov bot commented Feb 14, 2025

Codecov Report

Attention: Patch coverage is 57.14286% with 6 lines in your changes missing coverage. Please review.

Project coverage is 75.6%. Comparing base (8e47fa5) to head (4d080b0).
Report is 1 commits behind head on master.

Files with missing lines Patch % Lines
resource/store/resource_graph_store.cpp 57.1% 6 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff            @@
##           master   #1342     +/-   ##
========================================
- Coverage    75.7%   75.6%   -0.1%     
========================================
  Files         112     112             
  Lines       16410   16422     +12     
========================================
- Hits        12426   12425      -1     
- Misses       3984    3997     +13     
Files with missing lines Coverage Δ
resource/traversers/dfu_impl_update.cpp 75.4% <ø> (-0.4%) ⬇️
resource/store/resource_graph_store.cpp 77.2% <57.1%> (-9.4%) ⬇️

... and 3 files with indirect coverage changes

@milroy
Copy link
Member

milroy commented Feb 15, 2025

The RV1 test that's blowing up is t3027-resource-RV.t, but it looks like it might be an out of range error

Test 20 (t3027-resource-RV.t) is failing because the command to generate the JSON results in an error:

$ flux R encode -r 0-1 -c 0-1 -H fluke[1-0] | jq " .execution.R_lite[0].rank |= \"0^2\" " > out20.json
flux-R: invalid hostlist 'fluke[1-0]'

and thus out20.json is empty. I'll bet the out of range error is related to running the BFS check on an empty graph. As a side note, I'm not sure if this test is working as designed.

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