Skip to main content

OTEL-066: sending_queue.storage references undefined extension

Severity: deny (blocking)

Rule Details

When you enable persistent queue storage on an exporter with sending_queue.storage: file_storage/queue, the value has to match an extension name that is actually declared in the extensions: block. A typo or a rename without updating the exporter produces a config that looks correct but fails with "unknown storage" at startup.

This rule fires when an exporter's sending_queue.storage references an extension name that does not exist in extensions:.

Options

This rule has no options.

Examples

Incorrect
extensions:
file_storage:
directory: /var/lib/otelcol/queue

exporters:
otlp/backend:
endpoint: backend:4317
sending_queue:
enabled: true
storage: file_storage/queue # not defined — real name is "file_storage"
Correct
extensions:
file_storage/queue:
directory: /var/lib/otelcol/queue

exporters:
otlp/backend:
endpoint: backend:4317
sending_queue:
enabled: true
storage: file_storage/queue

service:
extensions: [file_storage/queue]

When Not To Use It

Never — the Collector will refuse to start.

  • OTEL-048sending_queue explicitly disabled
  • OTEL-062 — extension in service.extensions but not defined
  • OTEL-065sending_queue without persistent storage

Version

Available since augur v0.1.0.

Further Reading

Resources