Skip to content

Conversation

@teskje
Copy link
Contributor

@teskje teskje commented Jun 4, 2025

This PR upgrades Materialize to use Rust 1.87 and a recent nightly, and fixes the resulting clippy lint errors.

Note that Rust 1.87 is particularly exciting because it fixes the channel use-after-free bug that Petros found.

Motivation

  • This PR updates our Rust version.

Checklist

  • This PR has adequate test coverage / QA involvement has been duly considered. (trigger-ci for additional test/nightly runs)
  • This PR has an associated up-to-date design doc, is a design doc (template), or is sufficiently small to not require a design.
  • If this PR evolves an existing $T ⇔ Proto$T mapping (possibly in a backwards-incompatible way), then it is tagged with a T-proto label.
  • If this PR will require changes to cloud orchestration or tests, there is a companion cloud PR to account for those changes that is tagged with the release-blocker label (example).
  • If this PR includes major user-facing behavior changes, I have pinged the relevant PM to schedule a changelog post.

# in slower code due to the allocation.
("large_enum_variant", 0),
# A specialization of `large_enum_variant`; similar arguments apply.
("result_large_err", 0),
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I actually think enabling this lint might be useful. But fixing all the instances it finds is a bunch of effort and I didn't want to block the fix for the std::sync::mpsc safety bug on it.

@teskje teskje marked this pull request as ready for review June 4, 2025 15:44
@teskje teskje requested review from a team as code owners June 4, 2025 15:44
@teskje teskje requested a review from aljoscha June 4, 2025 15:44
Copy link
Contributor

@petrosagg petrosagg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! I'd wait for Ben to take a second a look on the persist changes

Copy link
Contributor

@def- def- left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@teskje teskje force-pushed the rust-1.87 branch 2 times, most recently from 3d7d64c to f610ea6 Compare June 4, 2025 16:47
@teskje
Copy link
Contributor Author

teskje commented Jun 5, 2025

The build is failing due to what looks like llvm compatibility issues. I'll try updating our version of llvm as well.

@teskje
Copy link
Contributor Author

teskje commented Jun 5, 2025

Upgrading clang fixed the build, but the Miri tests are broken because of taiki-e/portable-atomic#210. Trying again without upgrading the Nightly version.

@teskje teskje requested a review from a team as a code owner June 5, 2025 12:59
@teskje
Copy link
Contributor Author

teskje commented Jun 6, 2025

TFTRs!

@teskje teskje merged commit 6a620ce into MaterializeInc:main Jun 6, 2025
274 checks passed
@teskje teskje deleted the rust-1.87 branch June 6, 2025 09:41
antiguru pushed a commit that referenced this pull request Jun 12, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants