Skip to content

fix: prevent duplicate Syslog deliveries across pollers - #103

Open
somethingwithproof wants to merge 1 commit into
developfrom
fix/syslog-delivery-atomic-claim
Open

somethingwithproof wants to merge 1 commit into
developfrom
fix/syslog-delivery-atomic-claim

Conversation

@somethingwithproof

Copy link
Copy Markdown
Member

Fixes #102

Claim each due Syslog row atomically before transmission, increment its attempt count on claim, and only write delivery results while the row remains claimed. Requeue claims older than ten minutes and dead-letter them once the retry limit is reached. Keep claimed events visible to queue health and retention.

Validation: 128 Pest tests passed (565 assertions) with the socket integration group excluded. Changed-line coverage is 100% (13/13).

The existing socket-backed Syslog integration test did not complete locally: UDP binding failed in the sandbox, and the approved retry hung.

Claim due queue rows before transmission so concurrent pollers cannot send the same delivery. Requeue abandoned claims with a bounded retry policy, and preserve in-flight audit events during retention.

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>
@somethingwithproof
somethingwithproof force-pushed the fix/syslog-delivery-atomic-claim branch from bebed61 to b28c210 Compare November 9, 2026 01:42
@sonarqubecloud

sonarqubecloud Bot commented Nov 9, 2026

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Prevent concurrent pollers from duplicating Syslog delivery

1 participant