This is an automated email from the ASF dual-hosted git repository.
viirya pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/arrow-rs.git
The following commit(s) were added to refs/heads/master by this push:
new 1b06d78db5 Propagate error instead of panic for `take_bytes` (#5395)
1b06d78db5 is described below
commit 1b06d78db5c3350be9637d60cec7071d82e46797
Author: Liang-Chi Hsieh <[email protected]>
AuthorDate: Tue Feb 13 06:34:29 2024 -0800
Propagate error instead of panic for `take_bytes` (#5395)
* Propagate Error instead of panic
* Improve error message
---
arrow-select/src/take.rs | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/arrow-select/src/take.rs b/arrow-select/src/take.rs
index 172e61dca7..d9a639da80 100644
--- a/arrow-select/src/take.rs
+++ b/arrow-select/src/take.rs
@@ -420,7 +420,11 @@ fn take_bytes<T: ByteArrayType, IndexType:
ArrowPrimitiveType>(
nulls = Some(null_buf.into())
}
- T::Offset::from_usize(values.len()).expect("offset overflow");
+ T::Offset::from_usize(values.len()).ok_or(ArrowError::ComputeError(format!(
+ "Offset overflow for {}BinaryArray: {}",
+ T::Offset::PREFIX,
+ values.len()
+ )))?;
let array_data = ArrayData::builder(T::DATA_TYPE)
.len(data_len)