Skip to content

[Go] [Parquet] panic writing with DeltaBinaryPacked when column only has nulls #35718

@mslevine

Description

@mslevine

Describe the bug, including details regarding any error messages, version, and platform.

The writer panics if DeltaBinaryPacked encoding is requested for a column that is all null. The following small change to an existing test case demonstrates the issue.

In case it matters, I'm using go version go1.20.4 darwin/amd64
I ran into this issue using arrow v12.0.0, but this changed testcase fails using the current head of main.

diff --git a/go/parquet/pqarrow/encode_arrow_test.go b/go/parquet/pqarrow/encode_arrow_test.go
index 877f584f2..0b83ec696 100644
--- a/go/parquet/pqarrow/encode_arrow_test.go
+++ b/go/parquet/pqarrow/encode_arrow_test.go
@@ -380,6 +380,8 @@ func TestWriteEmptyLists(t *testing.T) {
 
        props := parquet.NewWriterProperties(
                parquet.WithVersion(parquet.V1_0),
+               parquet.WithDictionaryDefault(false),
+               parquet.WithEncoding(parquet.Encodings.DeltaBinaryPacked),
        )
        arrprops := pqarrow.DefaultWriterProps()
        var buf bytes.Buffer

Component(s)

Go

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions