Skip to content

Revert "chore: formalize the default map field names to match default arrow spec (#10297)" - #10506

Open
alamb wants to merge 1 commit into
apache:mainfrom
alamb:revert-10297-map-field-names
Open

Revert "chore: formalize the default map field names to match default arrow spec (#10297)"#10506
alamb wants to merge 1 commit into
apache:mainfrom
alamb:revert-10297-map-field-names

Conversation

@alamb

@alamb alamb commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Which issue does this PR close?

N/A

cc @Jefffrey and @rluvaton

Rationale for this change

#10297 changed the default map field names from keys/values to key/value to match the Arrow spec. This is a good change to align with the spec, but it is a breaking change: it broke the DataFusion upgrade (apache/datafusion#24030) because data produced elsewhere (e.g. by other Arrow implementations) uses the old keys/values field names, causing schema mismatches such as:

InvalidArgumentError("Incorrect datatype for StructArray field \"metadata\", expected Map(\"entries\": non-null Struct(\"keys\": non-null Utf8, \"values\": Utf8), unsorted) got Map(\"entries\": non-null Struct(\"key\": non-null Utf8, \"value\": Utf8), unsorted)")

See discussion on #10297: #10297 (comment)

We should hold the field name change for the next breaking release to minimize downstream churn on a minor release, rather than ship it in a minor release.

What changes are included in this PR?

Are these changes tested?

Existing tests.

Are there any user-facing changes?

Yes: this reverts the default MapFieldNames back to keys/values (as it was prior to #10297), rather than key/value. The intent is to reapply #10297 as part of the next breaking release.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

arrow Changes to the arrow crate arrow-array arrow-avro arrow-avro crate arrow-cast arrow-data arrow-flight Changes to the arrow-flight crate arrow-integration-test arrow-ipc arrow-json arrow-row arrow-schema parquet Changes to the parquet crate parquet-variant parquet-variant* crates

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants