apache / apache/arrow-rs

InvalidArgumentError("Expected 1 buffers in array of type FixedSizeBinary(4), got 2"

Open
#9,247 7 comments 0 reactions 1 assignee Claimed by @Jefffrey View on GitHub
bug
Dominant language
Rust
Stars
3.6k
Forks
1.3k
Avg merge
2d 14h
Merged PRs (30d)
167

Description

**Describe the bug**
There is some issue with decoding fixedsizebinary I found while working on tests for other

**To Reproduce**

Add this test to the parquet tests:

```diff
--- a/parquet/src/arrow/arrow_writer/mod.rs
+++ b/parquet/src/arrow/arrow_writer/mod.rs
@@ -2161,8 +2161,11 @@ mod tests {
)
.unwrap();

- let data = DictionaryArray::::new(keys, Arc::new(values));
- let batch = RecordBatch::try_new(Arc::new(schema), vec![Arc::new(data)]).unwrap();
+
+ let data: ArrayRef = Arc::new(DictionaryArray::::new(keys, Arc::new(values)));
+ one_column_roundtrip(Arc::clone(&data), true);
+
+ let batch = RecordBatch::try_new(Arc::new(schema), vec![data]).unwrap();
roundtrip(batch, None);
}
```

Fails like this

```
---- arrow::arrow_writer::tests::test_fixed_size_binary_in_dict stdout ----

thread 'arrow::arrow_writer::tests::test_fixed_size_binary_in_dict' (467576) panicked at parquet/src/arrow/buffer/offset_buffer.rs:133:48:
called `Result::unwrap()` on an `Err` value: InvalidArgumentError("Expected 1 buffers in array of type FixedSizeBinary(4), got 2")
```

I am pretty sure this is related to disabling dictionary pages

**Expected behavior**
Test should pass

**Additional context**

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.