
Ping QiuandClaude Opus 4.6
c39080ceaa
feat: Phase 4A CP4b-4 -- HA integration tests, admin HTTP, 5 bug fixes
Add HTTP admin server to iscsi-target binary (POST /assign, GET /status,
POST /replica, POST /rebuild) and 7 HA integration tests validating
failover, split-brain prevention, epoch fencing, and demote-under-IO.
New files:
- admin.go: HTTP admin endpoint with input validation
- ha_target.go: HATarget helper wrapping Target + admin HTTP calls
- ha_test.go: 7 HA tests (all PASS on WSL2, 67.7s total)
Bug fixes:
- BUG-CP4B4-1: CmdSN init (expCmdSN=0 not 1, first SCSI cmd was dropped)
- BUG-CP4B4-2: RoleNone->RoleReplica missing SetEpoch (WAL rejected)
- BUG-CP4B4-3: replica applyEntry didn't update vol.nextLSN (status=0)
- BUG-CP4B4-4: PID discovery killed primary instead of replica (shared
binPath; fixed by grepping volFile)
- BUG-CP4B4-5: artifact collector overwrote primary log with replica log
(added CollectLabeled method)
Also: 3s write deadline on WAL shipper data connection to avoid 120s TCP
retransmission timeout when replica is dead.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 15:04:59 -08:00
..
2026-03-02 15:04:59 -08:00
2026-03-02 09:33:45 -08:00
2026-03-02 15:04:59 -08:00
2026-03-01 10:43:34 -08:00
2026-03-01 10:43:34 -08:00
2026-03-02 09:34:00 -08:00
2026-03-02 09:34:00 -08:00
2026-03-02 09:33:45 -08:00
2026-03-02 09:33:45 -08:00
2026-03-02 09:33:45 -08:00
2026-03-01 10:43:34 -08:00
2026-03-01 10:43:34 -08:00
2026-03-01 10:43:34 -08:00
2026-03-01 10:43:34 -08:00
2026-03-01 21:26:39 -08:00
2026-03-02 09:33:45 -08:00
2026-03-01 16:00:06 -08:00
2026-03-02 09:33:45 -08:00
2026-03-02 09:33:45 -08:00
2026-03-01 10:43:34 -08:00
2026-03-02 09:33:45 -08:00
2026-02-28 09:32:01 -08:00
2026-02-28 09:32:01 -08:00
2026-03-01 16:00:06 -08:00
2026-03-02 15:04:59 -08:00
2026-03-01 16:00:06 -08:00
2026-03-02 09:33:45 -08:00
2026-03-02 09:33:45 -08:00
2026-03-02 09:33:45 -08:00
2026-03-02 09:33:45 -08:00
2026-03-02 09:34:35 -08:00
2026-03-02 09:33:45 -08:00
2026-03-01 10:43:34 -08:00
2026-03-02 09:33:45 -08:00
2026-03-02 09:33:45 -08:00
2026-03-02 15:04:59 -08:00
2026-03-02 09:33:45 -08:00
2026-03-02 09:33:45 -08:00
2026-02-28 09:32:01 -08:00
2026-03-01 16:00:06 -08:00
2026-02-28 09:32:01 -08:00
2026-02-28 09:32:01 -08:00
2026-03-02 15:04:59 -08:00
2026-03-01 10:43:34 -08:00
2026-03-02 09:33:45 -08:00
2026-03-01 16:00:06 -08:00