Multiple RAG indexer instances across environments process a Cosmos DB change feed for permitting rules. How should leases be handled?
Select an answer to reveal the explanation.
Short Explanation
You can keep production and staging progress independent by giving each environment its own lease container or clearly isolated lease prefix. That isolation helps prevent one indexer from taking another’s place in the change-feed queue.
Full Explanation
When multiple RAG indexer instances across environments process a Cosmos DB change feed for permitting rules, lease ownership must be isolated per environment. Dedicated lease containers—or clearly isolated lease prefixes—prevent production and staging indexers from stealing one another’s change-feed leases and duplicating or stalling indexing. Sharing one lease document without isolation creates cross-environment contention: one indexer can advance or block the other’s checkpoint. Sharing a lease container and relying on distinct polling schedules does not provide lease isolation; schedules alone do not stop indexers from claiming one another’s leases. Storing leases only in browser cookies on developer laptops is unsuitable because those cookies are not a durable, shared coordination store for server-side indexers. Exam caveat: lease isolation is about separating processor state across environments, not about disabling change feed processing or replacing checkpoint persistence. As a practical check, configure each environment’s indexer to use its own lease container or isolated prefix, then verify those settings and watch for lease-stealing symptoms when promoting indexer builds.