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

Fix shuffling an empty Struct() column with UCX #8801

Merged

Conversation

abellina
Copy link
Collaborator

Closes #8784

A new test "test_min_max_in_groupby_and_reduction" exposed a bug in the UCX shuffle for a corner case where a 0-sized column, such as a Struct() (struct without members) would not be shuffled. This changes the code to make it match what we do for a degenerate column where we still honor the metadata packed by cuDF, but we don't try to transfer 0-sized buffers.

@abellina
Copy link
Collaborator Author

build

@abellina abellina added bug Something isn't working shuffle things that impact the shuffle plugin labels Jul 25, 2023
// For example, a Struct column without any members. We treat such a case as if it
// were a degenerate table.
if (partSize == 0 && batch.numRows() > 0) {
sizes(partId) += 100
Copy link
Contributor

Choose a reason for hiding this comment

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

What is the significance of 100 here? Is this just to ensure that we don't end up with a partition that has zero bytes?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

That's correct. It is an arbitrary number. There is a comment a bit below where it was originally used for the degenerate (no columns) case, and I didn't move that comment up here. I cleaned this up a bit here b159870.

@abellina
Copy link
Collaborator Author

build

@abellina abellina merged commit b8a07fe into NVIDIA:branch-23.08 Jul 26, 2023
27 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working shuffle things that impact the shuffle plugin
Projects
None yet
3 participants