mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2026-09-20 13:30:46 +02:00
Batch 7: Command dispatch binding extraction - New weed/server/blockcmd package: CommandHandler interface + DispatchCommands - volume_server_block.go applyCoreCommandsWithAssignment delegates to dispatcher - weed/server still owns RecordCommand, EmitCoreEvent, PublishProjection - v2bridge NOT given command-switch or event-emission semantics Phase 16C: Rebuilding assignment enters core command path Phase 16D: Rebuild recovery-task startup is command-driven Phase 16E: Catch-up recovery-task startup is command-driven Engine refinements: - RecoveryTarget on AssignmentDelivered event - shouldStartRecoveryTask / shouldStartReceiver guards - bootstrapReason: awaiting_rebuild_start Bridge/contract updates: - control_adapter.go: refined translation helpers - contract.go: executor port alignment Migration design docs (Batch 1-3 delivered, design artifacts): - v2-first/second/third-migration-batch.md + task-pack.md - v2-assignment-translation-unification.md - v2-execution-muscles-inventory.md - v2-separation-port-layer-audit.md - v2-legacy-runtime-exit-criteria.md Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
26 lines
1.1 KiB
Go
26 lines
1.1 KiB
Go
// Package blockvol defines the weed-free bridge contracts that connect the V2
|
|
// engine to blockvol-backed control and execution mechanics.
|
|
//
|
|
// This package owns:
|
|
// - stable control translation helpers
|
|
// - storage/execution port contracts
|
|
// - thin adapters that consume those contracts without importing weed/
|
|
//
|
|
// Real blockvol-backed implementations live outside this package (today under
|
|
// weed/storage/blockvol/v2bridge/). This package must remain reusable from
|
|
// sw-block without directly depending on weed/.
|
|
//
|
|
// Hard rules (Phase 07):
|
|
// - ReplicaID = <volume-name>/<replica-server-id> (not address-derived)
|
|
// - blockvol executes recovery I/O but does NOT own recovery policy
|
|
// - Engine decides zero-gap vs catch-up vs rebuild
|
|
// - Bridge translates engine decisions into blockvol actions
|
|
//
|
|
// Adapter replacement order:
|
|
//
|
|
// P0: control_adapter (assignment → engine intent)
|
|
// P0: storage_adapter (blockvol state → RetainedHistory)
|
|
// P1: executor_bridge (engine executor → blockvol I/O)
|
|
// P1: observe_adapter (engine status → service diagnostics)
|
|
package blockvol
|