Andrew Lamb created ARROW-10996:
-----------------------------------
Summary: [Rust] Return error messages via Result for
get_arrow_schema_from_metadata
Key: ARROW-10996
URL: https://issues.apache.org/jira/browse/ARROW-10996
Project: Apache Arrow
Issue Type: Bug
Components: Rust
Reporter: Andrew Lamb
While converting from the parquet schema to arrow schema some errors, including
those during flatbuffer decoding, can be lost.
This is due to get_arrow_schema_from_metadata returning `Option` rather than
`Result`
https://github.com/apache/arrow/pull/8936/files# improved the situation by
printing the error to stdout, so the error isn't entirely lost, but this
message should be propagated up the call chain as a proper Rust error via a
Result.
{code}
match arrow::ipc::root_as_message(slice) {
Ok(message) => message
.header_as_schema()
.map(arrow::ipc::convert::fb_to_schema),
Err(err) => {
// The flatbuffers implementation returns an error on
verification error.
// TODO: return error to caller?
eprintln!(
"Unable to get root as message stored in {}: {:?}",
super::ARROW_SCHEMA_META_KEY,
err
);
None
}
}
{code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)