Skip to main content

LMS Outbox Troubleshooting

Symptoms

Expected outbox intent is absent, records remain pending/failed, or downstream delivery is assumed from local state.

Scope

Training contract staging, outbox store, shared processor behavior, and missing trigger.

Cause

Likely causes

Operation does not emit an event; validation/save failed; producer helper not invoked; processor never triggered; publish failure if invoked; no terminal retry/replay/cleanup ownership.

Safe diagnostic steps

  1. Confirm the operation is one of eight invoked contract types.\n2. Review sanitized status/retry/time/correlation-presence categories.\n3. Confirm Training has no registered trigger.\n4. Never inspect or expose payloads.

Resolution

Safe resolution

Escalate missing staging or relay ownership through engineering. Do not invoke processors, replay, edit status, delete rows, or connect to messaging.

Validation

In isolated testing, confirm local state and outbox intent share the expected save boundary; do not claim delivery.

Evidence to collect

Collect only environment category, time window, capability/route, status or error category, sanitized correlation reference, lifecycle state category, and recent approved change context.

Escalation

Staging to Training; processor/transport ownership Requires confirmation; recognition/delivery to Notification.

Source References

  • microservices/src/training-service/Infrastructure/Persistence.cs
  • microservices/src/shared-kernel/Messaging/OutboxProcessor.cs
  • microservices/src/training-service/Program.cs

Summary

This Draft page provides non-destructive, source-backed diagnosis and stops where recovery authority is not confirmed.

Audience

LMS users, support, operations, engineering, QA, architecture, security, and implementation teams.

Overview

Use supported reads and sanitized evidence. Never expose personal learning data, credentials, configuration values, infrastructure details, or operational commands.

See Also

Keywords

  • LMS troubleshooting
  • Safe diagnostics

Revision Information

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