mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-10-19 10:33:29 +00:00
Preserve availability result delivery order
Change-source: pulse-maintainer
This commit is contained in:
parent
4bca38395a
commit
a4a26fe842
6 changed files with 44 additions and 1 deletions
|
|
@ -5898,6 +5898,19 @@ path. Delivery queues, authentication failures, and persisted host-report
|
|||
buffers are destination-scoped; failure of one destination cannot block or
|
||||
replay reports to another.
|
||||
|
||||
Assigned availability-probe observations use the same primary-report delivery
|
||||
boundary. Concurrent probe completions must allocate their monotonic sequence
|
||||
and append to the pending queue in one ordered critical section; the queue must
|
||||
never contain a newer sequence before an older one. A report snapshot records
|
||||
the last included sequence as its delivery high-water mark. A successful
|
||||
primary acknowledgement removes only observations at or below that mark, while
|
||||
observations completed after the snapshot remain queued for the next report;
|
||||
failed or buffered delivery retains the whole unacknowledged batch. This keeps
|
||||
multi-target probe concurrency from stranding already-delivered observations
|
||||
or discarding observations that the primary never received. The scheduler and
|
||||
concurrent-enqueue coverage in `internal/hostagent/availability_test.go` pins
|
||||
the ordering and acknowledgement contract.
|
||||
|
||||
Observer configuration is explicit, versioned, and file-backed. It contains no
|
||||
raw token values and resolves each token from a separate private absolute-path
|
||||
file. Proxmox registration is also destination-scoped: the primary retains its
|
||||
|
|
|
|||
|
|
@ -1581,6 +1581,7 @@
|
|||
"internal/hostagent/agent_flushbuffer_test.go",
|
||||
"internal/hostagent/agent_metrics_test.go",
|
||||
"internal/hostagent/agent_new_test.go",
|
||||
"internal/hostagent/availability_test.go",
|
||||
"internal/hostagent/command_client_test.go",
|
||||
"internal/hostagent/commands_deploy_test.go",
|
||||
"internal/hostagent/commands_host_update_test.go",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue