Skip to main content

Helpdesk Event Delivery Guarantees

Verified guarantees

  • Database atomicity: the ticket mutation and outbox insert share a save operation.
  • Publisher delivery: no active Helpdesk runtime guarantee exists because no relay invocation is wired.
  • If invoked: the shared processor retries rows remaining Pending or Failed; failure between broker publish and marking processed can duplicate delivery.
  • Consumer delivery: Notification Service manually acknowledges after dispatch and requeues unexpected failures.
  • Exactly once: not guaranteed. Notification processing uses EventId deduplication to reduce duplicate effects.
  • Dead-letter handling: no Helpdesk outbox dead-letter state or threshold was found.

The intended mechanics are compatible with at-least-once delivery after a relay is provided, but current Helpdesk end-to-end delivery is Not implemented and must not be described as at least once in production.

Source References

  • microservices/src/helpdesk-service/Infrastructure/Persistence.cs
  • microservices/src/shared-kernel/Messaging/OutboxProcessor.cs
  • microservices/src/shared-kernel/Messaging/RabbitMqEventBus.cs
  • microservices/src/notification-service/Messaging/NotificationEventConsumer.cs

Revision Information

Draft source-backed documentation reviewed on 2026-07-20; next quarterly review is 2026-10-20.