Describe the bug
In v55.0.0 the PR #21767 added the preserve_order feature to serde_json dependency in datafusion-physical-plan.
This feature replaces BTreeMap-backed serde_json::Value with an IndexMap globally.
This is a major side-effect for applications embedding datafusion:
- It can affect performance
- It makes REST API return keys in different order
- It impacts many tests that may have depended on sorted keys
- It affects our cryptography that relies on stable sorted JSON representation.
Enabling this feature just doesn't seem like a choice that a library should make as its effects are disruptive and non-local.
To Reproduce
Expected behavior
I suspect preserve_order is only needed for testing and could be enabled in dev-dependencies without affecting applications that link datafusion. CC @adriangb
Additional context
No response
Describe the bug
In
v55.0.0the PR #21767 added thepreserve_orderfeature toserde_jsondependency indatafusion-physical-plan.This feature replaces
BTreeMap-backedserde_json::Valuewith anIndexMapglobally.This is a major side-effect for applications embedding
datafusion:Enabling this feature just doesn't seem like a choice that a library should make as its effects are disruptive and non-local.
To Reproduce
Expected behavior
I suspect
preserve_orderis only needed for testing and could be enabled indev-dependencieswithout affecting applications that linkdatafusion. CC @adriangbAdditional context
No response