Skip to content

Release arrow-rs / parquet patch version 54.2.1 (Feb 2025) (HOTFIX) #7209

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
4 tasks done
Tracked by #7392
Xuanwo opened this issue Feb 27, 2025 · 11 comments
Closed
4 tasks done
Tracked by #7392

Release arrow-rs / parquet patch version 54.2.1 (Feb 2025) (HOTFIX) #7209

Xuanwo opened this issue Feb 27, 2025 · 11 comments
Assignees
Labels
arrow Changes to the arrow crate

Comments

@Xuanwo
Copy link
Member

Xuanwo commented Feb 27, 2025

Is your feature request related to a problem or challenge? Please describe what you are trying to do.

Our release schedule is here https://github.com/apache/arrow-rs?tab=readme-ov-file#release-versioning-and-schedule

This patch release is to backport the hotfix for chrono.

Wishlist Items

Describe the solution you'd like

Create a release

Describe alternatives you've considered

Additional context

@alamb
Copy link
Contributor

alamb commented Feb 27, 2025

I will be the RM / create / publish this release

@alamb alamb self-assigned this Feb 27, 2025
@alamb alamb changed the title Release arrow-rs / parquet patch version 54.2.1 (Feb 2025) Release arrow-rs / parquet patch version 54.2.1 (Feb 2025) (HOTFIX) Feb 27, 2025
@alamb
Copy link
Contributor

alamb commented Feb 27, 2025

Per @Xuanwo 's request on #7207 (comment) , given this is causing people pain downstream, we would like to do an emergency hotfix. I will post to the arrow dev list as well

I request that this release be made under emergency circumstances, allowing it to be released as soon as possible after gathering three +1 binding votes, without waiting for three days.

@alamb
Copy link
Contributor

alamb commented Feb 27, 2025

Posted a note to dev list: https://lists.apache.org/thread/nxj63xzfov2rbcfry8f1d11zqg970tby

@alamb
Copy link
Contributor

alamb commented Feb 27, 2025

I made a PR to DataFusion to test this fix and it seems to have worked well:

@alamb
Copy link
Contributor

alamb commented Feb 27, 2025

@alamb
Copy link
Contributor

alamb commented Feb 27, 2025

The release was approved and released to crates.io:
Mailing list: https://lists.apache.org/thread/yjcjkv79d3wkpoj5d41y9q8ozvld3kxl

@Xuanwo
Copy link
Member Author

Xuanwo commented Feb 27, 2025

Thank you so much, @alamb and @tustvold, for handling this release! ASF releases can be completed in just a few hours!

@alamb
Copy link
Contributor

alamb commented Feb 27, 2025

Thank you so much, @alamb and @tustvold, for handling this release! ASF releases can be completed in just a few hours!

Indeed -- thank you @Xuanwo for doing the work to identify the issue and backport the changes, etc ❤

@Xuanwo
Copy link
Member Author

Xuanwo commented Feb 27, 2025

I shared a post according to this release: https://xuanwo.io/links/2025/02/release-arrow-rust-54-2-1-in-6-hours/

davisp added a commit to TileDB-Inc/tiledb-rs that referenced this issue Feb 28, 2025
We'll need this until we upgrade to Arrow 54.2.1 or newer.

apache/arrow-rs#7209
davisp added a commit to TileDB-Inc/tiledb-rs that referenced this issue Feb 28, 2025
We'll need this until we upgrade to Arrow 54.2.1 or newer.

apache/arrow-rs#7209
@alamb
Copy link
Contributor

alamb commented Mar 1, 2025

Here is my summary of what happened here for anyone who is curious:

  1. an arrow-rs dependency ('chrono', a Rust date/time library) released a version 0.4.40 which added a new function quarter, to an existing type. Such an addition is normally "non breaking"
  2. However, in this case arrow-rs already provided a quarter function with the same name (using a so-called Rust extension Trait).
  3. Thus, when downstream projects upgraded to the (supposedly) compatible new version of chrono, there was now a name conflict causing a compiler error

The fix for downstream users would be to not upgrade chrono (or "pin it to a specific version") which requires changes to their build systems. Here is an example of doing so at Tiledb

Some downstream projects automatically pick up new compatible versions of crates, and thus simply doing cargo update would then not compile.

Our hotfix, included one change from @Xuanwo and @tustvold in #7210. This change updates the Cargo.toml metadata file for arrow-rs (no actual Rust code changes) to explicitly say arrow-rs is not compatible with the new version of chrono, and thus preventing all downstream projects from having to individually do so.

@alamb
Copy link
Contributor

alamb commented Mar 14, 2025

label_issue.py automatically added labels {'arrow'} from #7198

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
Projects
None yet
Development

No branches or pull requests

2 participants