Skip to content

zippy: Fix various issues#37522

Open
def- wants to merge 1 commit into
MaterializeInc:mainfrom
def-:pr-zippy-improve
Open

zippy: Fix various issues#37522
def- wants to merge 1 commit into
MaterializeInc:mainfrom
def-:pr-zippy-improve

Conversation

@def-

@def- def- commented Jul 8, 2026

Copy link
Copy Markdown
Contributor
  • Remove debug prints accidentally introduced in 7986bb0.
  • Keep CI_MZ_SYSTEM_PARAMETER_DEFAULT across MzRestart, Mz0dtDeploy and BackupAndRestore instead of silently reverting the flags under test on the first restart. The parsing now lives in one place.
  • Make --seed reproducible: pick free object names in sorted order (set iteration depends on PYTHONHASHSEED) and replace the unseeded np.random.zipf pad sizes with random.paretovariate.
  • Restore the 50% chance for upstream tables without a primary key. has_pk was always True, which made all ShiftForward/ShiftBackward actions permanent no-ops, so UPDATEs never flowed through any CDC source. Debezium sources now only pick tables with a primary key since ENVELOPE DEBEZIUM requires a key.
  • Let KillClusterd alternatively require TableExists so it can fire in CopyToFromS3, which creates no views.
  • Trim unexecuted actions' capabilities using the instances recorded at generation time. provides() may return fresh instances and removal compares by identity, so *IsRunning capabilities were never removed.
  • Join KafkaInsertParallel background threads at the end of the test and fail on their errors instead of dropping them silently. The threads also target the current mz_service now.
  • Pass mz_service in CreateDebeziumSource, it otherwise routes through balancerd's potentially stale resolver.
  • Re-point balancerd at the new leader after Mz0dtDeploy, its static resolver otherwise keeps routing to the stopped old generation.
  • parse_timedelta: support seconds, reject unparseable input.
  • Only bootstrap Polaris in scenarios that can create Iceberg sinks.
  • Remove mid-test BackupAndRestore from UserTables, sink state is not recorded across a backup&restore cycle (database-issues#9589).
  • Remove unused actions (the Stop actions for external services and MzStartParameterized) and the write-only State.iceberg_ fields.
  • Add DropTable/DropView actions, guarded so that no depended-upon object is dropped, and wire them into UserTables and KafkaSources. User objects were never dropped before.

Test run: https://buildkite.com/materialize/nightly/builds/17089

* Remove debug prints accidentally introduced in 7986bb0.
* Keep CI_MZ_SYSTEM_PARAMETER_DEFAULT across MzRestart, Mz0dtDeploy and
  BackupAndRestore instead of silently reverting the flags under test
  on the first restart. The parsing now lives in one place.
* Make --seed reproducible: pick free object names in sorted order (set
  iteration depends on PYTHONHASHSEED) and replace the unseeded
  np.random.zipf pad sizes with random.paretovariate.
* Restore the 50% chance for upstream tables without a primary key.
  has_pk was always True, which made all ShiftForward/ShiftBackward
  actions permanent no-ops, so UPDATEs never flowed through any CDC
  source. Debezium sources now only pick tables with a primary key
  since ENVELOPE DEBEZIUM requires a key.
* Let KillClusterd alternatively require TableExists so it can fire in
  CopyToFromS3, which creates no views.
* Trim unexecuted actions' capabilities using the instances recorded at
  generation time. provides() may return fresh instances and removal
  compares by identity, so *IsRunning capabilities were never removed.
* Join KafkaInsertParallel background threads at the end of the test
  and fail on their errors instead of dropping them silently. The
  threads also target the current mz_service now.
* Pass mz_service in CreateDebeziumSource, it otherwise routes through
  balancerd's potentially stale resolver.
* Re-point balancerd at the new leader after Mz0dtDeploy, its static
  resolver otherwise keeps routing to the stopped old generation.
* parse_timedelta: support seconds, reject unparseable input.
* Only bootstrap Polaris in scenarios that can create Iceberg sinks.
* Remove mid-test BackupAndRestore from UserTables, sink state is not
  recorded across a backup&restore cycle (database-issues#9589).
* Remove unused actions (the *Stop actions for external services and
  MzStartParameterized) and the write-only State.iceberg_* fields.
* Add DropTable/DropView actions, guarded so that no depended-upon
  object is dropped, and wire them into UserTables and KafkaSources.
  User objects were never dropped before.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@def- def- requested a review from bosconi July 9, 2026 07:53
@def- def- marked this pull request as ready for review July 9, 2026 07:53
@def- def- requested a review from a team as a code owner July 9, 2026 07:53
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.

1 participant