Cosmos DB Emulator vs Cloud Service: Throttling and Consistency Interoperability Gap
0 reputation · 11 Aug 2020, 13:59 UTC
Integration tests for Azure Cosmos DB typically require production credentials and network access, increasing risk and cost. The documented Azure Cosmos DB Emulator provides a local endpoint with a fixed account key, enabling credential-free local execution. However, the emulator does not emulate rate limiting, provisioned-throughput throttling (429 responses), multi-region replication, or consistency-level enforcement, which are critical production behaviors.
Goal: Determine whether a test suite that passes against the emulator can be considered evidence of correct cloud-service behavior for throttling, retry, and consistency pathways.
Constraints: The emulator enforces fixed container size limits, the Linux Docker image supports only the NoSQL API, and the well-known account key must never be used against production. SDK retry logic and 429-handling code paths remain untested locally.
Questions:
- Does the emulator's absence of throttling invalidate tests of retry policies and back-off strategies?
- Can consistency-level settings be validated against the emulator without cloud-scale latency?
- What feature gaps exist between the Linux Docker emulator image and the cloud service that affect API coverage?