checkId: check.operations.dead-letter plugin: stellaops.doctor.operations severity: warn tags: [operations, queue, dead-letter]

Dead Letter Queue

This Doctor check helps operators and on-call engineers spot a backlog of unrecoverable background jobs in a Stella Ops deployment before it masks a wider outage.

What It Checks

Examines the dead letter queue for failed jobs that have exhausted their retry attempts and require manual review:

Evidence collected: FailedJobs, OldestFailure, MostCommonError, RetryableCount.

This check always runs (no configuration prerequisites).

Why It Matters

Dead letter queue entries represent work that the system was unable to complete after all retry attempts. Each entry is a job that may have had side effects (partial writes, notifications sent, resources allocated) and now sits in an inconsistent state. A growing dead letter queue indicates a systemic issue – a downstream service outage, a configuration error, or a bug that is causing repeated failures. Left unattended, dead letters accumulate and can mask the root cause of operational issues.

Common Causes

How to Fix

Docker Compose

# List dead letter queue entries
stella orchestrator deadletter list --limit 20

# Analyze common failure patterns
stella orchestrator deadletter analyze

# Retry jobs that are eligible for retry
stella orchestrator deadletter retry --filter retryable

# Retry all failed jobs
stella orchestrator deadletter retry --all

# View orchestrator logs for root cause
docker compose -f docker-compose.stella-ops.yml logs --tail 200 orchestrator | grep -i "error\|fail"

Bare Metal / systemd

# List recent failures
stella orchestrator deadletter list --since 1h

# Analyze failure patterns
stella orchestrator deadletter analyze

# Retry retryable jobs
stella orchestrator deadletter retry --filter retryable

# Check orchestrator service health
sudo systemctl status stellaops-orchestrator
sudo journalctl -u stellaops-orchestrator --since "4 hours ago" | grep -i "deadletter\|error"

Kubernetes / Helm

# List dead letter entries
kubectl exec -it <orchestrator-pod> -- stella orchestrator deadletter list --limit 20

# Analyze failures
kubectl exec -it <orchestrator-pod> -- stella orchestrator deadletter analyze

# Retry retryable jobs
kubectl exec -it <orchestrator-pod> -- stella orchestrator deadletter retry --filter retryable

# Check orchestrator pod logs
kubectl logs -l app=stellaops-orchestrator --tail=200 | grep -i dead.letter

Verification

stella doctor run --check check.operations.dead-letter