You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
When Cosmos SDK is starting up it makes warmup request for pkranges to some seemingly built in database (the name seems to be base64 encoded) that will fail if the primary Cosmos region is unavailable for any reason. Since this is a read request I believe it should fall under the hedging availability strategy to not block clients to make GET calls even if the primary region is temporarily unavailable.
During testing I specified two application preferred regions and I blocked requests to the first one to simulate an outage. If I make the first request before this simulated outage, everything is working correctly and my ReadItemAsync fallbacks to the secondary region. But if I simulate the outage before the first request the request for pkranges (https://<your-cosmos-db-account>.documents.azure.com/dbs/<database-id>/colls/<collection-id>/pkranges) fails and never fallbacks to the secondary region even though it is a read request.
Describe the solution you'd like
All Cosmos SDK warm-up requests that read from the database should be able to fallback to secondary region.
Describe alternatives you've considered
I do not think there are any alternatives.
The text was updated successfully, but these errors were encountered:
In this case I ran into it during evaluation of the new AvailabilityStrategy API. But this is something that happens in production as well and increasing startup resiliency is always a good idea to avoid scale-up issues.
Is your feature request related to a problem? Please describe.
When Cosmos SDK is starting up it makes warmup request for
pkranges
to some seemingly built in database (the name seems to be base64 encoded) that will fail if the primary Cosmos region is unavailable for any reason. Since this is a read request I believe it should fall under the hedging availability strategy to not block clients to makeGET
calls even if the primary region is temporarily unavailable.During testing I specified two application preferred regions and I blocked requests to the first one to simulate an outage. If I make the first request before this simulated outage, everything is working correctly and my
ReadItemAsync
fallbacks to the secondary region. But if I simulate the outage before the first request the request forpkranges
(https://<your-cosmos-db-account>.documents.azure.com/dbs/<database-id>/colls/<collection-id>/pkranges
) fails and never fallbacks to the secondary region even though it is a read request.Describe the solution you'd like
All Cosmos SDK warm-up requests that read from the database should be able to fallback to secondary region.
Describe alternatives you've considered
I do not think there are any alternatives.
The text was updated successfully, but these errors were encountered: