Skip to content

Commit 5cfc385

Browse files
authored
ci: Nightly fixes (2026-08-18) (#38314)
Based on https://buildkite.com/materialize/nightly/builds/18109 and nightly failures on my PRs yesterday Test run: https://buildkite.com/materialize/nightly/builds/18111
1 parent 4dd2112 commit 5cfc385

3 files changed

Lines changed: 18 additions & 13 deletions

File tree

misc/python/materialize/parallel_workload/action.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -389,12 +389,19 @@ def errors_to_ignore(self, exe: Executor) -> list[str]:
389389
# created after the backup vanish while still being tracked.
390390
# "invalid database" is the CREATE SCHEMA wording for a database
391391
# that vanished the same way (CreateSchemaAction does not lock it).
392+
# For ZeroDowntimeDeploy the not-yet-promoted environmentd opens
393+
# the catalog in savepoint mode, a snapshot frozen at its boot
394+
# time, so a worker that lands on it does not see anything the
395+
# leader created since. Name resolution runs before the read-only
396+
# check, so such a statement reports the missing object rather than
397+
# "cannot write in read-only mode".
392398
result.extend(
393399
[
394400
"unknown catalog item",
395401
"unknown schema",
396402
"unknown database",
397403
"invalid database",
404+
"unknown network policy",
398405
]
399406
)
400407
if exe.db.scenario == Scenario.Rename:
@@ -5965,11 +5972,6 @@ def errors_to_ignore(self, exe: Executor) -> list[str]:
59655972
# The policy is installed as a default somewhere (should not happen,
59665973
# we never install ours, but be safe).
59675974
"cannot be dropped",
5968-
# Another worker dropped the same policy first. The error carries
5969-
# the raw name ('netpol-N', not the quoted form), so DROP resolves
5970-
# the name correctly. This is a concurrency race, not the ALTER
5971-
# NETWORK POLICY quoted-name bug.
5972-
"unknown network policy",
59735975
] + super().errors_to_ignore(exe)
59745976

59755977
def run(self, exe: Executor) -> bool:

src/mysql-util/src/partition.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -392,6 +392,7 @@ mod tests {
392392
}
393393

394394
#[mz_ore::test(tokio::test)]
395+
#[cfg_attr(miri, ignore)] // too slow
395396
async fn splits_evenly_across_workers() -> Result<(), MySqlError> {
396397
let mut db = MockDb::new(keys(200_000));
397398
let count = u64::cast_from(db.keys.len());
@@ -463,6 +464,7 @@ mod tests {
463464
}
464465

465466
#[mz_ore::test(tokio::test)]
467+
#[cfg_attr(miri, ignore)] // too slow
466468
async fn probe_budget_bounds_requests() -> Result<(), MySqlError> {
467469
// Confirms baseline over 200 requests.
468470
let mut db = MockDb::new(keys(200_000));

test/scalability/mzcompose.py

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,6 @@
6969
scalability_framework_result_storage,
7070
)
7171
from materialize.test_analytics.test_analytics_db import TestAnalyticsDb
72-
from materialize.ui import UIError
7372
from materialize.util import YesNoOnce, all_subclasses
7473
from materialize.version_ancestor_overrides import (
7574
ANCESTOR_OVERRIDES_FOR_SCALABILITY_REGRESSIONS,
@@ -340,12 +339,14 @@ def get_baseline_and_other_endpoints(
340339
)
341340

342341
if resolved_target is None:
343-
if specified_target == regression_against_target:
344-
raise UIError(
345-
f"Could not resolve --regression-against={specified_target} "
346-
"to an image tag, so no regression comparison can be performed"
347-
)
348-
342+
# No comparable ancestor image exists. The common case is
343+
# an accepted regression that landed on main and demands a
344+
# baseline newer than any published release (see
345+
# ANCESTOR_OVERRIDES_FOR_SCALABILITY_REGRESSIONS); only
346+
# release images share HEAD's build profile, so there is
347+
# nothing fair to measure against until that release ships.
348+
# Drop the target and keep benchmarking the remaining ones,
349+
# so the measurements still reach test analytics.
349350
print(
350351
f"Skipping target {specified_target}: no ancestor image could be resolved"
351352
)
@@ -424,7 +425,7 @@ def report_assessment(regression_assessment: RegressionAssessment):
424425
print("+++ Assessment of regressions")
425426

426427
if not regression_assessment.has_comparison_target():
427-
print("No comparison was performed because not baseline was specified")
428+
print("No comparison was performed because there is no baseline endpoint")
428429
return
429430

430431
assert regression_assessment.baseline_endpoint is not None

0 commit comments

Comments
 (0)