-
Notifications
You must be signed in to change notification settings - Fork 915
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
[FEA] Throw std::overflow
exception when an output column size exceeds cudf limit
#12925
Comments
Please raise this issue for discussion on Slack or in the next team meeting. It would be great to consider whether there should be different exceptions for compound (strings) columns than for other columns too. I am not necessarily advocating this, but it's something to consider in case there are different ways that a caller could attempt to mitigate one scenario than the other (CC @davidwendt). Depending on what decision is made, please update #12885 accordingly. |
I think it is relevant not just for strings column. For example, we have the |
The cudf/cpp/src/copying/concatenate.cu Lines 475 to 477 in 173fde9
I would prefer we use std::overflow_error exception for the output column size limit check rather than create a new cudf exception.
|
That can be fine, only still a minor issue if |
std::overflow
exception when an output column size exceeds cudf limit
…13323) Replaces generic `cudf::logic_error` exception with `std::overflow_error` where appropriate in libcudf. Since this changes what is thrown in certain APIs, I think this technically is a breaking change. Closes #12925 Authors: - David Wendt (https://github.com/davidwendt) Approvers: - Divye Gala (https://github.com/divyegala) - Nghia Truong (https://github.com/ttnghia) - Bradley Dice (https://github.com/bdice) URL: #13323
In Spark, we want to handle the cases when the libcudf APIs throw exception due to their output column having sizes exceeding cudf limit. We want to differentiate if the thrown exception was really due to such reason (so we can split the input by half and try again), or due to something else (such as invalid input type or inconsistent data type etc). Unfortunately, currently only one type of exception (
cudf::logic_error
) is being thrown.We want to have a new specific exception type with a name like
cudf::output_size_exceed_limit
. This exception type will be used to throw in the case mentioned above. Adding this new exception type is similar to #12426 which introduced a new exception type to throw when the input data type is invalid.The text was updated successfully, but these errors were encountered: