Repository navigation
test(integration): shared-storage live suite + stream claims from a killed primary - #31
Merged
Merged
Conversation
…lled primary New opt-in suite tests/integration/test_live_shared.py (ARC_TEST_SHARED_URLS) against enterprise-shared plus a compactor node, an S3 cold tier and MQTT: compactor lease moves, daily compaction on the dedicated compactor, tiering policies, migration to cold and reads from it, the MQTT subscription lifecycle end to end, and unflushed_nodes from a frozen writer. Strict xfail for arc#1430 (tiering files ignores tier with database); the frozen writer is restarted, not just unpaused, because of arc#1431. test_live_cluster.py: opt-in test_stream_claim_after_primary_killed (ARC_TEST_CLUSTER_STREAM_TAKEOVER=1) creates a real claim and checks release/abandon of a finished claim; the release test read "finished", but Arc's field is "done". Docs from the live runs: MQTT subscriptions start stopped (auto_start means on Arc boot) and live on the node that created them; unflushed_nodes entries are messages naming the node; a delete waits for unreachable peers first; tiering.files notes arc#1430. Claude-Session: https://claude.ai/code/session_01VMc4wAG9mUUc3wB2ingB8c
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.
Covers what the first round of live testing (#30) couldn't reach. Two new rigs, both built from Arc main
eab8c078.Shared storage:
tests/integration/test_live_shared.pyOpt-in via
ARC_TEST_SHARED_URLS. The rig isenterprise-shared(SeaweedFS as the hot bucket) plus a dedicatedcompactornode, an AWS S3 cold tier, and mosquitto.assign_compactormoves the lease to a writer and back. Assigning the current holder returns 409.historyandcycles.unflushed_nodes: a frozen writer holds buffered rows. The 503 refusal keeps the body, andallow_unreachablereports the frozen writer for both the data delete and the database drop.filesignorestierwhendatabaseis set.Stream takeover:
test_live_cluster.pytest_stream_claim_after_primary_killed(ARC_TEST_CLUSTER_STREAM_TAKEOVER=1). It kills the primary while its rows are unflushed. A standby claims and publishes them exactly once. The test then checks that releasing or abandoning a finished claim returns 409, a wrong epoch returns 404, and a follower returns 409.test_release_stream_claim: it filtered onfinished, but Arc's field isdone.Doc fixes from the runs
stopped(auto_startmeans start when Arc boots), and each one lives on the node that created it.unflushed_nodes: entries are messages naming each node, not bare ids.tiering.files: notes arc#1430.Arc issues found
filesignorestierwhendatabaseis set.Results
https://claude.ai/code/session_01VMc4wAG9mUUc3wB2ingB8c