myxce/.wolf/bugs/bug-1871.md
Rongsong Shen 25d8a461fa
chore: gitea-sync refreshes 23 recent bug issues to the record format
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-28 03:44:30 +00:00

1.8 KiB

id status status_updated status_note component severity timestamp last_seen occurrences files tags related legacy gitea_issue gitea_synced_status gitea_synced_hash
bug-1871 investigating 2026-09-27 found while soak-verifying the HA group; logs in /home/claude/tmp/xce-ha-final-force-snapshot lib unknown 2026-09-27T07:03:48Z 2026-09-27T07:03:48Z 1
src/lib/netio.c (endpoint_block_tasks/unblock
handle_input)
src/controller/ha.c ha_handle_snapshot_chunk
netio
epoll
snapshot
latency
ha
soak
bug-1870
true 297 investigating e0ba41ca7ee9

bug-1871: HA snapshot transfer to a rejoining standby stalls mid-stream: primary queues all chunks at once…

Description

HA snapshot transfer to a rejoining standby stalls mid-stream: primary queues all chunks at once (528KB, 9 chunks); the standby reads a few (1 or 5 of 9 in two runs), its endpoint is unblocked after the last processed chunk, and then no further input event arrives on that connection for 3s+ although the primary has more chunks queued -- --force-snapshot soak's single post-convergence check saw no install (2 of 4 runs, 2026-09-27)

Environment

Not recorded (migrated from buglog.json).

Reproduction

Not recorded (migrated from buglog.json).

Root cause

Not root-caused. Suspect: edge-triggered epoll input + per-endpoint task blocking (netio endpoint_block_tasks): data that arrives while the endpoint is blocked is not re-signalled after endpoint_unblock_tasks, so reading resumes only on the next write from the peer (e.g. the next heartbeat). Likely delays, not loses, the transfer; the soak check was changed to poll 30s.

Fix

Not recorded (migrated from buglog.json).

Verification

Not recorded (migrated from buglog.json).

References

  • Related: bug-1870
  • Gitea: #297