-
Notifications
You must be signed in to change notification settings - Fork 928
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
Limit buffer size in reallocation policy in JSON reader #17940
base: branch-25.04
Are you sure you want to change the base?
Conversation
Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually. Contributors can view more details about this message here. |
/ok to test |
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.
Could you run compute-sanitizer on the tests here as well?
Memcheck and racecheck pass without errors or hazards. |
@@ -605,7 +722,8 @@ device_span<char> ingest_raw_input(device_span<char> buffer, | |||
thread_tasks.begin(), thread_tasks.end(), std::size_t{0}, [](std::size_t sum, auto& task) { | |||
return sum + task.get(); | |||
}); | |||
CUDF_EXPECTS(bytes_read == total_bytes_to_read, "something's fishy"); | |||
CUDF_EXPECTS(bytes_read == total_bytes_to_read, | |||
"Incorrect number of bytes read by multithreaded reader"); |
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.
Oh wow. How did the fishy string get added without notice? 😄
Description
Addresses #17058
We can split the buffer at the last but one line and pass two buffers to the tokenizer, provided that the size of each of those buffers is less than 2GB. We only need to verify for the second buffer since the first one is guaranteed to be under the limit by the batching logic.
Checklist