Bump Weasel 9.0.3 (resolves #3037) + Phase-2 multi-node partitioned distribution tests (#3021)#3038
Merged
Merged
Conversation
…ned distribution tests (#3021) Weasel 9.0.3 (weasel#300) fixes the name-based default-partition classification that made a 2nd node's resource-setup re-emit CREATE TABLE mt_streams_default and throw 42P07 under UseTenantPartitionedEvents + a MultiTenanted projection (GH-3037). Bumps all Weasel.* 9.0.2 -> 9.0.3 (resolves over Marten's transitive reference via central package management; the fix is internal, no API change). With the fix in place the previously-blocked multi-node distribution scenario works. Adds tenant_partitioned_distribution_multinode (two MultiTenanted async snapshot projections on a single Conjoined + Quick + UseTenantPartitionedEvents schema, three managed tenants): - agents_spread_one_per_node_across_the_cluster_and_stay_per_shard: across two nodes the subscription agents distribute one-per-node (two total, per shard x database) — NOT per tenant (which would be six) - agents_fail_over_to_the_surviving_node_when_a_node_leaves: when a node stops, its agent reassigns to the survivor and the count stays per-shard (two on the original) Both stable across repeated runs. (Per-tenant high-water continuity across a rebalance is deferred — under investigation separately.) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Closed
17 tasks
This was referenced Jun 8, 2026
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #3037. Advances #3021 Phase 2 (multi-node).
Weasel 9.0.3
weasel#300 fixes the bug behind #3037:
ListPartitioningclassified an existing partition as the PostgreSQL DEFAULT partition by table name (<table>_default). Marten's managed*DEFAULT*tenant uses table suffixdefault, so its partition tablemt_streams_defaultis a regular value partition (FOR VALUES IN ('*DEFAULT*')) that was mistaken for the PG default, dropped from the actual set, and perpetually re-CREATEd → a 2nd node's resource-setup threw42P07 relation "mt_streams_default" already exists. Weasel 9.0.3 classifies by the partition's bound expression instead.Bumps all
Weasel.*9.0.2 → 9.0.3. Resolves to 9.0.3 over Marten's transitive reference via central package management (verified inproject.assets.json); the fix is internal with no API change.Now-unblocked multi-node tests
tenant_partitioned_distribution_multinode— twoMultiTenantedasync snapshot projections on a single Conjoined + Quick +UseTenantPartitionedEventsschema, three managed tenants:agents_spread_one_per_node_across_the_cluster_and_stay_per_shard— across two nodes the subscription agents distribute one-per-node (two total, per shard × database), not per tenant (which would be six).agents_fail_over_to_the_surviving_node_when_a_node_leaves— when a node stops, its agent reassigns to the survivor and the count stays per-shard (two on the original).Both verified stable across repeated runs; previously they could not even start (the
42P07above).Verification
Follow-up
Per-tenant projection high-water continuity across a rebalance is deferred — appending after a dynamic rebalance didn't reflect in the projection within the poll window in my draft; investigating whether that's a real continuity gap or a test-harness/timing issue before adding it. Tracked under #3021 Phase 2.
🤖 Generated with Claude Code