Skip to main content

Payroll Event Retry and Failure Handling

Summary

This page documents confirmed payroll event retry and failure handling behavior and explicitly marks incomplete integration boundaries.

Audience

Payroll and integration developers, QA and support engineers, solution and security architects, and implementation partners.

Outbound failures

The shared outbox processor marks a record Failed and increments its retry count when publication fails. Pending and Failed records remain eligible for later batches. No Payroll-specific retry ceiling, schedule, or dead-letter transition is confirmed.

Inbound failures

The Payroll projection consumer retries broker connection after failures. A delivery exception causes negative acknowledgement with requeue. Successful ApplyAsync completion is followed by acknowledgement.

Dead-letter and replay

No Payroll-specific dead-letter queue, poison-message cutoff, quarantine record, or operator replay command is confirmed. Integration Service has separate dead-letter capability but does not subscribe to Payroll events, so it is not documented as a Payroll-event safeguard.

Failure windows

Publication success and outbox status update are separate operations, allowing duplicate publication after an intervening failure. Consumer ledgers mitigate duplicates where implemented.

Requires confirmation

  • Relay scheduling, bounded retry, backoff, poison-message handling, alerting, and replay ownership.
  • Recovery from publish-success/status-save failure.

Source References

  • microservices/src/payroll-service/Messaging/PayrollReadModelConsumer.cs
  • microservices/src/shared-kernel/Messaging/OutboxProcessor.cs
  • microservices/src/payroll-service/Infrastructure/Persistence.cs
  • microservices/src/integration-service/Domain/IntegrationEntities.cs

See Also

Keywords

  • Payroll events
  • Payroll Event Retry and Failure Handling
  • Integration contracts

Revision Information

  • Status: Draft
  • Last reviewed: 2026-07-15
  • Review cycle: Quarterly