Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -266,7 +266,7 @@ resolver = "3"

[workspace.package]
edition = "2024"
rust-version = "1.97.1"
rust-version = "1.98.1"

[workspace.dependencies]
ahash = { version = "0.8.12", default-features = false }
Expand Down
5 changes: 1 addition & 4 deletions bin/ci-builder
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,7 @@

set -euo pipefail

# NOTE: The 2026-08-03 nightly makes rustdoc run out of memory, which breaks the
# Doctests job. Do not advance past 2026-08-02 until that is fixed.
# See https://github.com/rust-lang/rust/issues/160439.
NIGHTLY_RUST_DATE=2026-08-02
NIGHTLY_RUST_DATE=2026-09-02

workdir=$(pwd)
cd "$(dirname "$0")/.."
Expand Down
2 changes: 1 addition & 1 deletion bin/lint-versions
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,5 @@
#
# lint-versions - Check rust version

grep "rust-version = " Cargo.toml | grep -q "1\.97\.1" || \
grep "rust-version = " Cargo.toml | grep -q "1\.98\.1" || \

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This line is the record that a Rust version has been validated for compilation time regressions, and the description says that validation has not been performed for 1.98.1.

doc/developer/upgrade-rust.md step 7 is the mechanism, and it has not run yet: the only Buildkite build on antiguru:rust-1-98-bump is test #134971, there is no nightly build on the branch. A toolchain bump changes codegen for every crate, so the compile-time and performance data this line asserts only exists once Nightly is green here. Worth doing while the PR is open rather than after it merges, per that same step. I am happy to trigger and read the run if that is easier.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Agreed, and triggered: Nightly build #18327 is running on bc29533, the current head. You were right that nothing had run: test #134971 was the only build on the branch.

Two related notes while I was in doc/developer/upgrade-rust.md.

Step 6 had also not been checked, and it comes out clean: UNICODE_VERSION is (17, 0, 0) at both 1.97.1 and 1.98.1, so there is nothing for the release-notes classifier to pick up and the "No user-visible changes" line stands.

The line this thread is on stays as-is until #18327 reports. I will post the result here either way, and the description keeps the Team Testing item open until then.

馃 Posted by Claude Code

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Nightly #18327 has run on bc29533: 251 jobs passed, 8 failed, 2 still running, 38 broken. No failure is attributable to the toolchain, and every performance-sensitive step passed.

The steps doc/developer/upgrade-rust.md step 7 exists to protect are all green: feature-benchmark-against-merge-base-or-latest 1 through 9, rust-cargo-bench-against-ancestor 1 through 9, parallel-benchmark 1 through 5, the three scalability-benchmark variants, and all five maelstrom jobs. The two jobs still running are console-scalability-workload-replay 1 and 2, which replay a Console workload and do not bear on the toolchain.

The 8 failures group into four root causes, and two of them are already fixed on main by commits this branch predates.

  • Platform-checks upgrade scenarios, 3 jobs. ALTER CLUSTER ... WITH (WAIT UNTIL READY ...) fails with "the requested feature (enable_zero_downtime_cluster_reconfiguration) is in private preview". Fixed by 03783c3 (mzcompose: default the zero-downtime reconfiguration flag on for binaries before v26.42聽#38830), which is on main but after this branch's base 6e55add.
  • SLT (2 replicas) shard 3, 1 job. Every failure is in distinct_arrangements.slt, the curated metric sink golden breakage. Fixed by 8a0c315 (sqllogictest: disable curated metric sinks in distinct_arrangements.slt聽#38835), also after the base. This branch's copy of the file still lacks the enable_metric_sink = false stanza.
  • Orchestratord + documentation defaults, 2 jobs. kubectl wait -n materialize --for=condition=Available --timeout=300s deployment/minio exits non-zero. Both parallel jobs failed on main nightlies 18324 and 18320 as well.
  • Testdrive with SIZE 8 shard 1, plain and azurite, 2 jobs. kafka-compression.td:186 reads "world" where "hello" is expected from lz4_sink_implicit. Main history on these jobs is one pass in the last five nightlies.

Next step is a rebase onto current upstream/main to absorb #38830 and #38835, which should clear four of the eight. The other four are chronic main flakes that a rebase will not touch.

One caveat to record: that rebase moves the branch off bc29533, so the green Nightly will no longer sit on the head commit. The conclusion still holds, because a rebase only adds main commits and changes neither the rust-version pin nor the nightly date, but the evidence above is tied to bc29533 rather than to whatever head ends up being.

馃 Posted by Claude Code

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Nightly #18327 finished: the last three console-scalability shards passed, so every benchmark step in the run is green and the failure triage above is final.

Rebased onto ad1150f222, head is now 87973eb755. That absorbs #38830 and #38835, which should clear four of the eight failures if Nightly is run again. The pin, the nightly date, and the seven-file diff are unchanged by the rebase.

馃 Posted by Claude Code

(echo "Please validate new Rust versions for compilation time performance regressions or ask Team Testing to do so. Afterwards change the tested version in bin/lint-versions" && exit 1)
2 changes: 1 addition & 1 deletion src/avro/src/reader.rs
Original file line number Diff line number Diff line change
Expand Up @@ -961,7 +961,7 @@ impl<'a> SchemaResolver<'a> {
/// In case a reader `Schema` is provided, schema resolution will also be performed.
///
/// **NOTE** This function has a quite small niche of usage and does NOT take care of reading the
/// header and consecutive data blocks; use [`Reader`](struct.Reader.html) if you don't know what
/// header and consecutive data blocks; use [`Reader`] if you don't know what
/// you are doing, instead.
pub fn from_avro_datum<R: AvroRead>(schema: &Schema, reader: &mut R) -> Result<Value, AvroError> {
let value = decode(schema.top_node(), reader)?;
Expand Down
6 changes: 3 additions & 3 deletions src/avro/src/types.rs
Original file line number Diff line number Diff line change
Expand Up @@ -166,8 +166,8 @@ pub enum Value {
Uuid(uuid::Uuid),
}

/// Any structure implementing the [ToAvro](trait.ToAvro.html) trait will be usable
/// from a [Writer](../writer/struct.Writer.html).
/// Any structure implementing the [`ToAvro`] trait will be usable
/// from a [`Writer`](crate::Writer).
pub trait ToAvro {
/// Transforms this value into an Avro-compatible [`Value`].
fn avro(self) -> Value;
Expand Down Expand Up @@ -351,7 +351,7 @@ impl ToAvro for JsonValue {
}

impl Value {
/// Validate the value against the given [Schema](../schema/enum.Schema.html).
/// Validate the value against the given [`Schema`](crate::Schema).
///
/// See the [Avro specification](https://avro.apache.org/docs/++version++/specification/)
/// for the full set of rules of schema validation.
Expand Down
2 changes: 1 addition & 1 deletion src/avro/src/writer.rs
Original file line number Diff line number Diff line change
Expand Up @@ -356,7 +356,7 @@ fn write_value_ref(schema: &Schema, value: &Value, buffer: &mut Vec<u8>) -> Resu
/// performing schema validation.
///
/// **NOTE** This function has a quite small niche of usage and does NOT generate headers and sync
/// markers; use [`Writer`](struct.Writer.html) to be fully Avro-compatible if you don't know what
/// markers; use [`Writer`] to be fully Avro-compatible if you don't know what
/// you are doing, instead.
pub fn to_avro_datum<T: ToAvro>(schema: &Schema, value: T) -> Result<Vec<u8>, Error> {
let mut buffer = Vec::new();
Expand Down
10 changes: 5 additions & 5 deletions src/pgtest/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,11 @@
//! messages sent and received.
//!
//! Supported `send` types:
//! - [`Query`](struct.Query.html)
//! - [`Parse`](struct.Parse.html)
//! - [`Describe`](struct.Describe.html)
//! - [`Bind`](struct.Bind.html)
//! - [`Execute`](struct.Execute.html)
//! - [`Query`]
//! - [`Parse`]
//! - [`Describe`]
//! - [`Bind`]
//! - [`Execute`]
//! - `Sync`
//!
//! Supported `until` arguments:
Expand Down
Loading