-
Notifications
You must be signed in to change notification settings - Fork 17
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
Test P2P Shuffle in integration tests #597
Conversation
hendrikmakait
commented
Dec 7, 2022
•
edited
Loading
edited
- Closes Test P2P Shuffle in integration tests #569
Skipping larger data size for join tests due to data transfer to client which OOM-kills the pytest workers (#633). |
Ready for review. cc @crusaderky, @ncclementi |
tests/benchmarks/test_join.py
Outdated
(0.1, "tasks"), | ||
# shuffling takes a long time with 1 or higher | ||
(0.1, "p2p"), | ||
# (1, "p2p"), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
#633 should allow us to enable this in a follow-up
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't we mark them then as marks=pytest.mark.skip(reason="Does not finish, fix when #633 is merged")
If not, open an issue to state that when the #633 is merged we need to uncomment this
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Left some small comments.
My only concern is that we will be running each of the h2o queries 9 times (csv, pq0.5GB, pq5GB * no_shuffle, task, p2p) This will increase the time of the whole CI, a lot. For most of the queries and this size of data shuffle and p2p might make no sense.
Shouldn't we just move to only 1 biggish pq dataset (thinking of the 50GB) and run this only maybe once a week. What would imply running it as a separate workflow probably.
tests/benchmarks/test_join.py
Outdated
(0.1, "tasks"), | ||
# shuffling takes a long time with 1 or higher | ||
(0.1, "p2p"), | ||
# (1, "p2p"), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't we mark them then as marks=pytest.mark.skip(reason="Does not finish, fix when #633 is merged")
If not, open an issue to state that when the #633 is merged we need to uncomment this
Co-authored-by: Naty Clementi <[email protected]>
FWIW, we only run each query 6 times as we do not test the implicit default aka "no_shuffle". IIUC,
Adding testing on a large-scale dataset is yet another thing we should add, but that's out of scope for this PR. |
tests/benchmarks/test_join.py
Outdated
pytest.param( | ||
1, | ||
marks=pytest.mark.skip(reason="Does not finish"), | ||
(1, "p2p"), marks=pytest.mark.skip(reason="client OOMs, see coiled-runtime#633") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
XREF: #633
tests/benchmarks/test_join.py
Outdated
10, | ||
marks=pytest.mark.skip(reason="Does not finish"), | ||
(10, "p2p"), | ||
marks=pytest.mark.skip(reason="client OOMs, see coiled-runtime#633"), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
XREF: #633
Running the H2O benchmarks with Granted, the value of testing on tiny datasets is questionable, but should be discussed in another issue. |
@hendrikmakait We are having some legit failures in https://github.com/coiled/coiled-runtime/actions/runs/3766959977/jobs/6404088081 ________________ ERROR collecting tests/benchmarks/test_join.py ________________
tests/benchmarks/test_join.py::test_join_big: in "parametrize" the number of names (2):
['mem_mult', 'shuffle']
must be equal to the number of values (1):
((1, 'p2p'),) The ones in https://github.com/coiled/coiled-runtime/actions/runs/3766959977/jobs/6404088006 are platform related. |
@hendrikmakait I'm trying different combinations here #634, but haven't been able to make it work. That PR, runs only that test so it's easier to debug. in case you want to mess in there.
|
@ncclementi: I think I found the solution (interesting that some stuff seems to work but then fails when it comes to running the specific parametrization (or ignoring it). Sorry for causing this, I should've really tested "that one last beautification" locally. |
@hendrikmakait no worries, I've been playing with it trying to fix it because I thought you were off for today. I'm testing it over here too as it should fail faster if it doesn't work #634 It's very unintuitive :/ |
Ci is green, |