Skip to content

Latest commit

 

History

History
34 lines (25 loc) · 2.01 KB

README.md

File metadata and controls

34 lines (25 loc) · 2.01 KB

Azure Queue Storage

Parity grade: C · SDK azure-sdk-for-go/sdk/storage/azqueue@v1.0.1 · last audited 2026-09-04 (c7cf3aec)

Coverage

Metric Value
PARITY entries audited 11 (10 ok, 1 partial)
Feature families 5 (4 ok, 1 partial)
Known gaps 7
Deferred items 1
Resource leaks clean

Known gaps

  • No queue metadata (x-ms-meta-*) support -- neither stored on Create nor returned on List; Create is therefore always idempotent (204) for a pre-existing queue, and QueueAlreadyExists (409) is unreachable in this MVP.
  • messagettl=-1 (Azure's 'never expire' sentinel) is modeled as a 100-year TTL, not true infinite retention.
  • List Queues returns every result in one page; no prefix/marker/maxresults pagination.
  • No SetQueueMetadata/GetQueueMetadata, no queue ACL (Set/Get Queue ACL / SAS-scoped access policies).
  • No poison-message / dead-letter handling -- DequeueCount is tracked and returned but nothing acts on it (contrast services/sqs's DLQ).
  • Visibility-timeout expiry is checked lazily at read time (Get/Peek Messages), not proactively swept -- functionally correct (a message becomes visible again exactly when TimeNextVisible passes, regardless of sweep timing) but differs from message-TTL expiry, which the Janitor does proactively sweep.
  • Auth verification is not enforced -- see families.auth. pkgs/azureauth.VerifySharedKey exists and is unit-tested but checkAuth does not call it yet. All gaps above are intentional MVP scope per AZURE.md's M1 entry (see AZURE.md section 8), not oversights.

Deferred

  • Initial implementation pass (2026-09-04): seeded this service from scratch per AZURE.md M1 (see AZURE.md section 8). Structurally mirrors services/azureblob's M0 implementation and PARITY.md format; no prior audit history to reconcile.

More