Skip to content

Cosmos: Add *_OVERRIDE incident kill-switch env vars for hedging & PPCB, plus AZURE_COSMOS_HEDGING_ENABLED master switch#4562

Merged
kundadebdatta merged 21 commits into
mainfrom
users/kundadebdatta/3357_introduce_envvar_for_hedging_enablement
Jun 19, 2026
Merged

Cosmos: Add *_OVERRIDE incident kill-switch env vars for hedging & PPCB, plus AZURE_COSMOS_HEDGING_ENABLED master switch#4562
kundadebdatta merged 21 commits into
mainfrom
users/kundadebdatta/3357_introduce_envvar_for_hedging_enablement

Conversation

@kundadebdatta

@kundadebdatta kundadebdatta commented Jun 10, 2026

Copy link
Copy Markdown
Member

Summary

Adds environment-driven enablement controls for two availability features —
cross-region read hedging and the per-partition circuit breaker (PPCB) — on top
of the existing programmatic configuration, plus an incident _OVERRIDE kill
switch for each.

  • Hedging gains a master switch AZURE_COSMOS_HEDGING_ENABLED (env layer of
    the normal OperationOptions layering) and a top-priority kill switch
    AZURE_COSMOS_HEDGING_ENABLED_OVERRIDE. Both are implemented generically in
    the CosmosOptions derive via #[option(env = "...", overridable)].
  • PPCB enablement is a driver-level PartitionFailoverOptions concern (since
    cosmos: expose CosmosRuntime, consolidate client config #4588), so its kill switch is a dedicated
    PartitionFailoverOptions::circuit_breaker_enabled_override field, set via
    AZURE_COSMOS_PPCB_ENABLED_OVERRIDE. When set it is authoritative over both
    the circuit_breaker_enabled option and the server account property
    enable_per_partition_failover_behavior.

Hedging and PPCB remain enabled by default; all new variables are inert unless set.

Resolution layering

  • Hedging (hedging_enabled): {ENV}_OVERRIDE → operation → account → runtime → {ENV}.
  • PPCB (circuit_breaker_enabled_override): override wins over
    circuit_breaker_enabled option and the account property. (Not part of the
    per-operation layering — PPCB enablement is driver-level.)

All _OVERRIDE values are read once at runtime-build time; flipping mid-incident
requires a process restart. Booleans parse leniently (true/false, 1/0,
yes/no, on/off); an unrecognized value is logged and ignored.

Changes

azure_data_cosmos_macros

  • New overridable field flag (#[option(env = "...", overridable)]) →
    auto-generates {ENV}_OVERRIDE parsing + a top-priority env_override view
    layer via new_with_override.
  • New #[options(env_only)] struct mode → generates only from_env()/
    from_env_vars() (no View/Builder/Default), letting an existing builder type
    double as its own env source.
  • New #[option(env = "...", parser = path)] attribute → custom
    fn(&str) -> Option<T> parsing (e.g. Duration from a millisecond count),
    with lenient None-is-ignored semantics.
  • Crate version 0.1.00.2.0; driver depends on it by path.

azure_data_cosmos_driver (core)

  • OperationOptions::hedging_enabled: Option<bool>
    (#[option(env = "AZURE_COSMOS_HEDGING_ENABLED", overridable)]); a new
    Priority-0 branch in resolve_availability_strategy evaluates it before
    availability_strategy.
  • PartitionFailoverOptions::circuit_breaker_enabled_override (env
    AZURE_COSMOS_PPCB_ENABLED_OVERRIDE), applied at the two effective-PPCB
    resolution sites (PartitionEndpointState::new and the LocationStateStore
    account-property refresh).
  • Options-layering cleanup (per review): RuntimeEnvConfig,
    DiagnosticsEnvConfig, and ConnectionPoolEnvConfig removed — the builders
    now read env directly (via env_only + parser) or through the shared
    parse_duration_millis_from_env helper. Malformed env values are warn-and-
    ignored (fail-soft); bounds violations still hard-error.

Documentation

  • ConfigurationOptions.md _OVERRIDE table updated with both switches and a
    note that PPCB's override is driver-level (outside the per-operation layering).
  • CHANGELOG entries in azure_data_cosmos, azure_data_cosmos_driver, and
    azure_data_cosmos_macros.

Out of scope

  • PPAF (server-driven) enablement is unchanged.
  • The multi-region eligibility gate (should_hedge) and default threshold are
    unchanged.

Introduces OperationOptions::hedging_enabled (env AZURE_COSMOS_HEDGING_ENABLED) to enable/disable cross-region read hedging, enabled by default. The env switch is the source of truth and takes precedence over the programmatic AvailabilityStrategy in both directions: false disables hedging even with an explicit Hedging(..), and true enables hedging even with an explicit Disabled (a programmatic Hedging(..) still supplies its custom threshold). Default threshold min(1000ms, request_timeout/2) is unchanged. Adds unit tests and updates CHANGELOGs and ConfigurationOptions.md.
kundadebdatta and others added 3 commits June 9, 2026 22:25
…ement

Adds a generic, opt-in {ENV}_OVERRIDE kill switch to the CosmosOptions derive
macro and applies it to the two enablement env vars (AZURE_COSMOS_HEDGING_ENABLED,
AZURE_COSMOS_PER_PARTITION_CIRCUIT_BREAKER_ENABLED). When set, an override wins
over every layer (including a per-request value and, for hedging, a programmatic
AvailabilityStrategy), acting as a fleet-wide incident kill switch that needs no
code change or redeploy. Resolution order becomes:
{ENV}_OVERRIDE -> operation -> account -> runtime -> {ENV}. Overrides are inert
unless set.

Macro: new `#[option(env = "...", overridable)]` attribute (parse.rs, requires
env); env.rs generates from_env_override()/from_env_override_vars() reading the
_OVERRIDE variants via a shared field-init helper; view.rs conditionally adds a
highest-priority env_override layer and a new_with_override() constructor while
keeping new() as a backward-compatible delegating wrapper.

Driver: mark hedging_enabled and per_partition_circuit_breaker_enabled
overridable; runtime builds env_override_operation_options from
from_env_override() with an accessor; both production OperationOptionsView
constructions use new_with_override().

Also bumps the driver's azure_data_cosmos_macros dependency to the local
workspace 0.2.0 via a path dependency (it was resolving the published 0.1.0 from
crates.io, so the local macro source was not being consumed).

Adds macro codegen/validation tests and driver override-resolution tests;
updates ConfigurationOptions.md and both CHANGELOGs.
Makes the CosmosOptions derive macro the single env-reading mechanism across
the driver. ConnectionPoolOptions, DiagnosticsOptions, and the runtime
CPU-refresh interval previously hand-rolled their AZURE_COSMOS_* reads via the
parse_*_from_env functions in env_parsing.rs; they now declare a small internal
`#[derive(CosmosOptions)] #[options(layers(runtime))]` env-config struct (the
same machinery OperationOptions uses), read it once via the generated
from_env(), and resolve `builder -> env -> default` with shared validation
helpers.

env_parsing.rs is now a resolution + validation module: the env-reading
functions (parse_from_env, parse_optional_from_env, parse_duration_millis_from_env,
parse_optional_duration_millis_from_env) are replaced by resolve_from_env,
resolve_optional_from_env, resolve_duration_ms, and resolve_optional_duration_ms,
which take the pre-read env value (parsed by the macro) and only perform
resolution + bounds validation. No std::env::var calls remain outside the macro.

Public resolved types (ConnectionPoolOptions, DiagnosticsOptions) and their
getters are unchanged. All existing bounds / cross-field validation and error
messages are preserved.

Behavior note: a malformed env value (e.g. a non-numeric *_MS timeout) is now
logged and ignored -- falling back to the default -- instead of failing runtime
construction; bounds violations on a present value still hard-error as before.
Documented in the driver CHANGELOG.

Validated: cargo fmt / build --all-targets / clippy clean; 1776 driver tests
pass; cargo doc -D warnings clean; dependent azure_data_cosmos SDK builds.
Comment thread sdk/cosmos/azure_data_cosmos_macros/src/env.rs
Comment thread sdk/cosmos/azure_data_cosmos_driver/src/options/connection_pool.rs
Comment thread sdk/cosmos/azure_data_cosmos_driver/Cargo.toml
Comment thread sdk/cosmos/azure_data_cosmos_driver/CHANGELOG.md Outdated
@kundadebdatta kundadebdatta changed the title Cosmos: Add AZURE_COSMOS_HEDGING_ENABLED env var to enable/disable cross-region read hedging (default on) Cosmos: Add *_OVERRIDE incident kill-switch env vars for hedging & PPCB, plus AZURE_COSMOS_HEDGING_ENABLED master switch Jun 15, 2026
kundadebdatta added 3 commits June 15, 2026 10:28
CI flagged 'livesite' (kill-switch wording in CHANGELOG.md and ConfigurationOptions.md) and 'unparseable' (connection_pool.rs comment) introduced by the _OVERRIDE / env-consolidation work. Added both to sdk/cosmos/.cspell.json ignoreWords; verified clean with eng/common/spelling/Invoke-Cspell.ps1.
…spec updates, test coverage)

Robustness (fail-open kill switch):
- Parse boolean env options leniently in the CosmosOptions derive macro so a
  kill switch does not silently fail open on a common spelling. Accepts
  true/false, 1/0, yes/no, on/off (case-insensitive) for both the base and
  _OVERRIDE variants; unrecognized values are logged and ignored.

Docs (stale spec / contract):
- HEDGING_SPEC.md §4.4/§11.3/§11.3.1: document the AZURE_COSMOS_HEDGING_ENABLED
  master switch and its _OVERRIDE kill switch, add the Priority 0 layer and the
  {ENV}_OVERRIDE resolution chain, and remove the now-false "no env opt-out" /
  "explicit opt-out always wins" statements.
- PARTITION_LEVEL_FAILOVER_SPEC.md: update the stale init sample to
  new_with_override(...) matching the real CosmosDriver construction.
- ConfigurationOptions.md: note that the env vars and their _OVERRIDE variants
  are read once at runtime-build time, the deliberate env-beats-code inversion
  vs .NET/Java, and the lenient boolean parsing.

Tests:
- Add lenient-bool macro integration tests (common spellings, unparseable
  ignored, _OVERRIDE leniency).
- Add end-to-end env_override resolution tests for hedging
  (resolve_availability_strategy) and PPCB (PartitionFailoverConfig::from_options).
- Add from_env_vars name-mapping and leniency tests for the connection-pool,
  diagnostics, and runtime env-config structs.
…ulator e2e test

- Retarget the 5 CHANGELOG entries added by this PR from #4432 to #4562 (SDK and driver crates).

- Add emulator E2E test (driver_hedging_kill_switch.rs) verifying AZURE_COSMOS_HEDGING_ENABLED_OVERRIDE flows through the real runtime build (lenient OFF -> Some(false)) and keeps the live create/read data path healthy.

- Add DriverTestRunContext::runtime() accessor to inspect the runtime env-override layer.
@kundadebdatta kundadebdatta marked this pull request as ready for review June 15, 2026 18:23
@kundadebdatta kundadebdatta requested a review from a team as a code owner June 15, 2026 18:23
Copilot AI review requested due to automatic review settings June 15, 2026 18:23

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds environment-driven enablement controls to Cosmos availability features (cross-region read hedging and the per-partition circuit breaker), including an incident-oriented {ENV}_OVERRIDE kill-switch layer that overrides all other configuration sources.

Changes:

  • Extended CosmosOptions derive to support #[option(env = "...", overridable)], generating {ENV}_OVERRIDE parsing + a top-priority env_override view layer (via new_with_override).
  • Introduced OperationOptions::{hedging_enabled, per_partition_circuit_breaker_enabled} env master/override switches and updated hedging resolution to evaluate the env switch before availability_strategy.
  • Consolidated env parsing for connection pool, diagnostics, and runtime refresh interval onto macro-generated from_env(), switching malformed env values to warn-and-ignore (while keeping bounds violations as errors), plus added unit/E2E coverage and docs/changelog updates.

Reviewed changes

Copilot reviewed 24 out of 25 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
sdk/cosmos/azure_data_cosmos/docs/ConfigurationOptions.md Documents new master/override env vars and precedence.
sdk/cosmos/azure_data_cosmos/CHANGELOG.md Records SDK-facing env kill switch + master switch additions.
sdk/cosmos/azure_data_cosmos_macros/tests/derive_cosmos_options.rs Adds tests for lenient boolean parsing (base + override).
sdk/cosmos/azure_data_cosmos_macros/src/view.rs Adds optional env_override layer + new_with_override constructor generation.
sdk/cosmos/azure_data_cosmos_macros/src/parse.rs Parses new overridable attribute and derives {ENV}_OVERRIDE names.
sdk/cosmos/azure_data_cosmos_macros/src/lib.rs Documents the new overridable option attribute behavior.
sdk/cosmos/azure_data_cosmos_macros/src/env.rs Implements shared env parsing, including lenient bool parsing and override constructors.
sdk/cosmos/azure_data_cosmos_driver/tests/framework/test_client.rs Exposes runtime for tests that need to inspect runtime-resolved env override state.
sdk/cosmos/azure_data_cosmos_driver/tests/emulator_tests/mod.rs Registers new emulator E2E test module.
sdk/cosmos/azure_data_cosmos_driver/tests/emulator_tests/driver_hedging_kill_switch.rs Adds emulator E2E wiring test for AZURE_COSMOS_HEDGING_ENABLED_OVERRIDE.
sdk/cosmos/azure_data_cosmos_driver/src/options/operation_options.rs Adds overridable hedging/PPCB enablement fields + related tests.
sdk/cosmos/azure_data_cosmos_driver/src/options/mod.rs Updates re-export to renamed env resolution helper (resolve_duration_ms).
sdk/cosmos/azure_data_cosmos_driver/src/options/env_parsing.rs Refactors env helpers to “resolve pre-read env value” model; removes direct env reads.
sdk/cosmos/azure_data_cosmos_driver/src/options/diagnostics_options.rs Migrates diagnostics env parsing to macro-driven config + resolve helpers.
sdk/cosmos/azure_data_cosmos_driver/src/options/connection_pool.rs Migrates connection-pool env parsing to macro-driven config + resolve helpers (fail-soft malformed env).
sdk/cosmos/azure_data_cosmos_driver/src/driver/runtime.rs Builds and exposes env_override_operation_options and uses macro-based runtime env config.
sdk/cosmos/azure_data_cosmos_driver/src/driver/routing/partition_endpoint_state.rs Adds tests verifying PPCB override precedence through resolution.
sdk/cosmos/azure_data_cosmos_driver/src/driver/pipeline/hedging_eligibility.rs Adds hedging_enabled Priority-0 logic and tests for override precedence/threshold behavior.
sdk/cosmos/azure_data_cosmos_driver/src/driver/cosmos_driver.rs Wires env_override into init-time and per-operation view construction.
sdk/cosmos/azure_data_cosmos_driver/docs/PARTITION_LEVEL_FAILOVER_SPEC.md Updates spec sample to include env_override layer in view construction.
sdk/cosmos/azure_data_cosmos_driver/docs/HEDGING_SPEC.md Updates spec to reflect new env master/override switches and precedence.
sdk/cosmos/azure_data_cosmos_driver/CHANGELOG.md Records driver-side kill switch + env parsing consolidation behavior change.
sdk/cosmos/azure_data_cosmos_driver/Cargo.toml Switches macros dependency to local path at v0.2.0.
sdk/cosmos/.cspell.json Adds new terms used in docs/comments.
Cargo.lock Updates lockfile for macros crate version/source change.

Comment thread sdk/cosmos/azure_data_cosmos/docs/ConfigurationOptions.md Outdated
Comment thread sdk/cosmos/azure_data_cosmos_macros/src/view.rs Outdated
Comment thread sdk/cosmos/azure_data_cosmos_macros/src/env.rs Outdated
- ConfigurationOptions.md: clarify that hedging_enabled=None means 'no env override' (defers to the programmatic AvailabilityStrategy), not unconditionally enabled.

- driver_hedging_kill_switch.rs: use a panic-safe RAII EnvVarGuard to restore AZURE_COSMOS_HEDGING_ENABLED_OVERRIDE on drop, preventing the override from leaking into other tests if an assertion panics.

- macros env.rs/view.rs: tighten substring test assertions (fn from_env_override (), fn new () ) so they no longer match the longer *_vars / new_with_override names.

@analogrelay analogrelay left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good start. Some fairly minor design suggestions. Not critically blocking, but this is a good opportunity to fix up all the Options layering (i.e. not just OperationOptions, but also DriverOptions, ConnectionPoolOptions, etc.) to use the same macro.

Comment thread sdk/cosmos/azure_data_cosmos/CHANGELOG.md Outdated
Comment thread sdk/cosmos/azure_data_cosmos_driver/src/driver/cosmos_driver.rs Outdated
Comment thread sdk/cosmos/azure_data_cosmos_driver/src/driver/runtime.rs Outdated
Comment thread sdk/cosmos/azure_data_cosmos_driver/src/options/connection_pool.rs Outdated
Comment thread sdk/cosmos/azure_data_cosmos_driver/src/options/diagnostics_options.rs Outdated
Comment thread sdk/cosmos/azure_data_cosmos_driver/src/options/env_parsing.rs
Comment thread sdk/cosmos/azure_data_cosmos_driver/src/options/operation_options.rs Outdated
Comment thread sdk/cosmos/azure_data_cosmos_driver/CHANGELOG.md Outdated
Comment thread sdk/cosmos/azure_data_cosmos_macros/src/env.rs Outdated
kundadebdatta added 7 commits June 15, 2026 12:48
Address @analogrelay review: the new hedging/PPCB CHANGELOG entries were double-spaced; make them single-spaced to match the surrounding entries in both the SDK and driver CHANGELOGs.
The two from_options_env_override_* tests referenced OperationOptions::per_partition_circuit_breaker_enabled and PartitionFailoverConfig::from_options, both removed by #4588 when PPCB enablement moved to driver-level PartitionFailoverOptions. They were dead code carried in by the main merge and broke 'cargo clippy --all-targets' (lib test) compilation.
…view)

Addresses analogrelay review comment on RuntimeEnvConfig: 'Might want to align this with changes coming in #4588.'

Removes the bespoke RuntimeEnvConfig CosmosOptions macro struct and routes AZURE_COSMOS_CPU_REFRESH_INTERVAL_MS through the shared parse_duration_millis_from_env helper, matching how #4588's driver-level PartitionFailoverOptions builder reads its duration env vars. All duration env vars now resolve on one path. Drops the now-obsolete RuntimeEnvConfig field-mapping unit test (the helper is covered by env_parsing tests) and updates the driver CHANGELOG to reflect the actual consolidation scope.
…ly macro mode (PR #4562 review)

Addresses analogrelay review comment on DiagnosticsEnvConfig: 'Again, could this be combined into DiagnosticsOptions?'

Adds a struct-level #[options(env_only)] mode to the CosmosOptions derive that emits only from_env()/from_env_vars() (no View, Builder, or Default), letting an existing builder type double as its own env-var source. DiagnosticsOptionsBuilder now derives it directly, removing the separate DiagnosticsEnvConfig struct. Includes macro integration tests (env_only coexists with a hand-written derive(Default)) and CHANGELOG entries.
…Options (PR #4562)

The #4588 merge moved PPCB enablement off OperationOptions onto driver-level PartitionFailoverOptions, which dropped this PR's PPCB _OVERRIDE kill switch while the changelogs/docs still advertised it. This restores the feature on its new home.

Adds PartitionFailoverOptions::circuit_breaker_enabled_override (env AZURE_COSMOS_PPCB_ENABLED_OVERRIDE, lenient boolean via new parse_optional_bool_from_env helper) plus the matching builder setter. The override is authoritative over BOTH the circuit_breaker_enabled option and the account property enable_per_partition_failover_behavior, applied at the two effective-PPCB resolution sites (PartitionEndpointState::new and LocationStateStore account-property refresh). Updates both CHANGELOGs and ConfigurationOptions.md to the correct env-var name/scope, and adds unit tests covering both override directions at the options and routing-state layers.
…ro parser attribute (PR #4562 review)

Addresses analogrelay review comments: "Does this have to be separate from
ConnectionPoolOptions?" (ConnectionPoolEnvConfig) and the suggestion to "add the
ability to specify a parser function in the #[option(env, ...)] attribute"
(env.rs field_init).

Adds a #[option(env = "...", parser = path)] attribute to the CosmosOptions
derive that parses an env var with a custom fn(&str) returning Option<T> instead
of FromStr, supporting types like Duration (from a millisecond count) and the
emulator cert-validation bool mapped to ServerCertificateValidation.

ConnectionPoolOptionsBuilder now derives #[options(env_only)] with per-field env
+ parser attributes and doubles as its own env source, removing the separate
ConnectionPoolEnvConfig struct. build() merges builder-or-env per field and
reuses the existing resolve_* helpers, preserving the exact default / bounds /
cross-field-validation semantics.

Adds macro unit + integration tests for the parser attribute and updates the
connection-pool env tests. CHANGELOGs updated.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 26 out of 27 changed files in this pull request and generated 4 comments.

Comments suppressed due to low confidence (1)

sdk/cosmos/azure_data_cosmos_macros/src/parse.rs:114

  • #[options(env_only)] is documented as mutually exclusive with #[options(layers(...))], but the parser currently allows both and will silently ignore layers(...) because env_only short-circuits codegen. This should be rejected at macro-parse time to avoid surprising/ambiguous behavior.
        let (layers, env_only) = parse_options_attr(&ast.attrs)?;
        if !env_only && layers.is_empty() {
            return Err(Error::new(
                ast.ident.span(),
                "missing `#[options(layers(...))]` attribute",
            ));
        }

Comment thread sdk/cosmos/azure_data_cosmos_driver/src/options/env_parsing.rs Outdated
Comment thread sdk/cosmos/azure_data_cosmos_driver/src/options/env_parsing.rs Outdated
Comment thread sdk/cosmos/azure_data_cosmos_driver/src/options/env_parsing.rs Outdated
Comment thread sdk/cosmos/azure_data_cosmos_macros/CHANGELOG.md
kundadebdatta and others added 3 commits June 17, 2026 15:17
Four comments on commit 3488bdf, all on code added this session:

1. (Low) env_parsing.rs module doc claimed the helpers "never call
   std::env::var", which is no longer true after the driver-level helpers were
   added. Reworded to describe the actual behavior.

2. (Medium) parse_duration_millis_from_env silently dropped a present-but-
   unparseable value. Now logs a warn! before falling back to the default,
   matching the macro's fail-soft semantics and the PR's documented behavior.

3. (Medium) parse_from_env had the same silent-drop gap. Now also warns on a
   present-but-unparseable value.

4. (Medium) The azure_data_cosmos_macros 0.2.0 CHANGELOG listed env_only and
   parser but omitted the overridable field flag (part of the 0.2.0 bump
   rationale). Added the missing Features Added entry.
CI clippy (rust 1.95.0, -D warnings) flagged the 5-tuple return type of parse_option_attrs. Factored the parsed attributes into a named ParsedOptionAttrs struct and destructure it at the call site.
Comment thread sdk/cosmos/azure_data_cosmos_macros/tests/derive_cosmos_options.rs

@FabianMeiswinkel FabianMeiswinkel left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Comment thread sdk/cosmos/azure_data_cosmos_driver/src/options/partition_failover.rs Outdated
@github-project-automation github-project-automation Bot moved this from In Progress to Changes Requested in CosmosDB Rust SDK and Driver Jun 18, 2026
Address review feedback on #4562: the PPCB incident kill switch is operator-facing and set exclusively via AZURE_COSMOS_PPCB_ENABLED_OVERRIDE, so it should not be part of the public PartitionFailoverOptions configuration surface alongside with_circuit_breaker_enabled. Remove the public builder setter with_circuit_breaker_enabled_override and demote the circuit_breaker_enabled_override getter to pub(crate); keep the private field and env parsing so the env var still works and the authoritative resolution is unchanged. In-crate tests use a #[cfg(test)] pub(crate) setter to exercise the override without mutating process-wide env.
@kundadebdatta kundadebdatta enabled auto-merge (squash) June 18, 2026 23:26
@kundadebdatta kundadebdatta merged commit 1d34756 into main Jun 19, 2026
12 checks passed
@kundadebdatta kundadebdatta deleted the users/kundadebdatta/3357_introduce_envvar_for_hedging_enablement branch June 19, 2026 00:19
@github-project-automation github-project-automation Bot moved this from Changes Requested to Done in CosmosDB Rust SDK and Driver Jun 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Cosmos The azure_cosmos crate cosmos-driver

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants