-
Notifications
You must be signed in to change notification settings - Fork 3.5k
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
ARROW-11478: [R] Consider ways to make arrow.skip_nul option more user-friendly #9899
Conversation
The error on centos7 is something that I see on about 1 out of every 10 runs locally on the as.data.frame(RecordBatch) test. Locally it looks like:
I haven't observed this on repeated runs of the array/chunked-array tests. Any ideas @romainfrancois @bkietz? Even though my changes are purely in the R code, googling the error message suggests it's a C++ issue. |
e$message <- paste0(msg, "; to strip nuls when converting from Arrow to R, set options(arrow.skip_nul = TRUE)") | ||
} | ||
stop(e) | ||
} |
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.
Is the call info in the error message at all informative? If not, you might want stop(msg, call. = FALSE)
inside the conditional (after appending to the message of course).
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.
I thought (though I could be remembering wrong) that when you call stop()
on a caught simpleError
class object, you just re-raise it and that preserves however the original source of the stop()
had said call.
or whatever options. I'll review/confirm tomorrow.
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.
Confirmed:
> f <- function(...) stop(...)
> f("boo")
Error in f("boo") : boo
> f("boo", call. = FALSE)
Error: boo
> tryCatch(f("boo"), error = function(e) stop(e))
Error in f("boo") : boo
> tryCatch(f("boo", call. = FALSE), error = function(e) stop(e))
Error: boo
Looks good to me 👍 |
It's a bug in A quick patch (but I'm not sure if the right one as I don't understand R's
This copies the |
86ec59f
to
17aa3c3
Compare
…r-friendly Following a similar approach to ARROW-11766. This also pulls in `withr` as a test dependency and refactors some unrelated tests to use it. Closes apache#9899 from nealrichardson/skip-nul-message Authored-by: Neal Richardson <neal.p.richardson@gmail.com> Signed-off-by: Neal Richardson <neal.p.richardson@gmail.com>
…r-friendly Following a similar approach to ARROW-11766. This also pulls in `withr` as a test dependency and refactors some unrelated tests to use it. Closes apache#9899 from nealrichardson/skip-nul-message Authored-by: Neal Richardson <neal.p.richardson@gmail.com> Signed-off-by: Neal Richardson <neal.p.richardson@gmail.com>
…r-friendly Following a similar approach to ARROW-11766. This also pulls in `withr` as a test dependency and refactors some unrelated tests to use it. Closes apache#9899 from nealrichardson/skip-nul-message Authored-by: Neal Richardson <neal.p.richardson@gmail.com> Signed-off-by: Neal Richardson <neal.p.richardson@gmail.com>
Following a similar approach to ARROW-11766. This also pulls in
withr
as a test dependency and refactors some unrelated tests to use it.