Skip to content

QueryPlan : Fixes 410 Gone Exception on non-x64 platforms#5257

Merged
kirankumarkolli merged 7 commits intomasterfrom
users/dibahl/HPKQueryOptionsFix
Jun 27, 2025
Merged

QueryPlan : Fixes 410 Gone Exception on non-x64 platforms#5257
kirankumarkolli merged 7 commits intomasterfrom
users/dibahl/HPKQueryOptionsFix

Conversation

@dibahlfi
Copy link
Copy Markdown
Member

@dibahlfi dibahlfi commented Jun 24, 2025

Customer faced an issue with their HPK container set up. Problem was when they set the root level partition key in the QueryRequestOptions and run a query they would get the data back when running on windows but for other environments(like docker) they were getting an exception
For Docker they were getting 410(Gone) exception
Microsoft.Azure.Cosmos.CosmosException : Response status code does not indicate success: Gone (410); Substatus: 1002; ActivityId: 623305e2-9a69-4b65-aa9b-911ee8ac3533; Reason: (Epk Range: [0DCEB8CE51C6BFE84F4BD9409F69B9BB,0DCEB8CE51C6BFE84F4BD9409F69B9BBFF) is gone.);

The root of the problem was that for non-window(x64) environment we were getting the query plan from gateway(unlike windows where we use the ServiceInterop dll) and after we got the plan we funnel it through RequestInvokerHandler pipeline. The pipeline has a check where it sees that if a feedRange is provided and if it returns more than 1 overlapping ranges it throws a gone exception but in this particular case this is a valid scenario(edge case).
e.g
datatable (MinEPK: string, MaxEPK: string, PKrangeId)
[
"0D4DC2CD8F49C65A8E0C5306B61B4343","0DCEB8CE51C6BFE84F4BD9409F69B9BB2164DEBD78C50C850E0C1E3E3F0579ED",0
"0DCEB8CE51C6BFE84F4BD9409F69B9BB2164DEBD78C50C850E0C1E3E3F0579ED","1080F600C27CF98DC13F8639E94E7676" 1
]
If our provided partition key results in a hash e.g 0DCEB8CE51C6BFE84F4BD9409F69B9BB that lies between the above 2 records, we will get overlapping ranges back.

Fix:
Fix it to explicitly make a check and see if its a Query Plan , if it is then allow it to progress.

Testing:
I was able to get access to the Defender Team DB where they were facing this issue. I manually tested the following E2E use cases and got the desired results.
On Windows -> with PartitionKey specified
Diagnostics is : {"Summary":{"DirectCalls":{"(449, 5350)":6,"(200, 0)":2},"GatewayCalls":{"(200, 0)":4,"(304, 0)":1}}
Count: 24025; Severity: Medium;
Count: 24114; Severity: Informational;
Count: 23; Severity: High;

On Non_windows - with PartitionKey specified(in the QueryRequestOptions)
Diagnostics is : {"Summary":{"DirectCalls":{"(449, 5350)":2,"(200, 0)":2},"GatewayCalls":{"(200, 0)":5,"(304, 0)":1,"(0, 0)":1}}
Count: 24025; Severity: Medium;
Count: 24114; Severity: Informational;
Count: 23; Severity: High;

On Windows - no QueryRequestOption specified
Diagnostics is : {"Summary":{"DirectCalls":{"(200, 0)":2},"GatewayCalls":{"(200, 0)":4,"(304, 0)":1}}
Count: 24025; Severity: Medium;
Count: 24114; Severity: Informational;
Count: 23; Severity: High;

On Non_windows - no QueryRequestOption specified
Diagnostics is : {"Summary":{"DirectCalls":{"(200, 0)":2},"GatewayCalls":{"(200, 0)":5,"(304, 0)":1}}
Count: 24025; Severity: Medium;
Count: 24114; Severity: Informational;
Count: 23; Severity: High;

Problem writing a new reliable E2E test in the pipeline is the set up needed to return overlapping ranges and we don't have control over when partition split happens.

Talked to Ananth on how he tested it and he worked with Elasticity team to create the database in the desired state, we can do the same in the pipeline but need to check if our database accounts/containers get cleaned up by some background job in the future(will check with Nalu on this one).
I also explored the PartitionKeyHashRangeSplitterAndMerger class but that works only with in-memory container and doesn't follow the RequestInvokerHandler pipeline flow.

for the time being I added a unit test which will avoid any regression in the future.

closes #5220
#5220

Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

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

All good!

@dibahlfi dibahlfi changed the title fix: HPK QueryRequestOption fix QueryPlan : Fixes 410 Gone Exception on non-x64 platforms Jun 24, 2025
Comment thread Microsoft.Azure.Cosmos/tests/Microsoft.Azure.Cosmos.Tests/RetryHandlerTests.cs Outdated
@kirankumarkolli
Copy link
Copy Markdown
Member

Please include the issue# which it closes.

Comment thread Microsoft.Azure.Cosmos/src/Handler/RequestInvokerHandler.cs Outdated
Comment thread Microsoft.Azure.Cosmos/tests/Microsoft.Azure.Cosmos.Tests/RetryHandlerTests.cs Outdated
Comment thread Microsoft.Azure.Cosmos/src/Handler/RequestInvokerHandler.cs Outdated
Comment thread Microsoft.Azure.Cosmos/src/Handler/RequestInvokerHandler.cs Outdated
Comment thread Microsoft.Azure.Cosmos/tests/Microsoft.Azure.Cosmos.Tests/RetryHandlerTests.cs Outdated
Copy link
Copy Markdown
Member

@FabianMeiswinkel FabianMeiswinkel left a comment

Choose a reason for hiding this comment

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

LGTM - I am fine with just using unit test instead of E2E test based on the reaosns in the PR descritpion. But I left a few minor comments - I am good once those are addressed.

Copy link
Copy Markdown
Member

@FabianMeiswinkel FabianMeiswinkel left a comment

Choose a reason for hiding this comment

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

LGTM - Thanks

Copy link
Copy Markdown
Contributor

@NaluTripician NaluTripician left a comment

Choose a reason for hiding this comment

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

LGTM

@kirankumarkolli kirankumarkolli merged commit 0c12e8e into master Jun 27, 2025
27 checks passed
PhilipWoulfe pushed a commit to PhilipWoulfe/F1Competition that referenced this pull request Mar 1, 2026
Updated
[Microsoft.Azure.Cosmos](https://github.com/Azure/azure-cosmos-dotnet-v3)
from 3.47.2 to 3.57.1.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.Azure.Cosmos's
releases](https://github.com/Azure/azure-cosmos-dotnet-v3/releases)._

## 3.57.1

### <a name="3.57.1"/>
[3.57.1](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.57.1) -
2026-2-20

#### Fixed

- [5613](Azure/azure-cosmos-dotnet-v3#5613)
CrossRegionHedgingAvailabilityStrategy: Fixes `ArgumentNullException`
race condition in hedging cancellation


## 3.57.0

### <a name="3.57.0"/>
[3.57.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.57.0) -
2026-1-15

#### Added
- [5511](Azure/azure-cosmos-dotnet-v3#5511)
Tracing: Adds tracing improvements for pkrange refresh calls
- [5515](Azure/azure-cosmos-dotnet-v3#5515)
[FullTextPolicy]: Adds tests for full text policy multi-language
support.
- [5529](Azure/azure-cosmos-dotnet-v3#5529)
[Thin Client Integration]: Adds support for store procedure in
thinclient mode.
- [5535](Azure/azure-cosmos-dotnet-v3#5535)
[Thin Client Integration]: Adds thinclient header for refresh account
data requests.

#### Fixed

- [5512](Azure/azure-cosmos-dotnet-v3#5512)
ChangeFeed: Fixes crts field being nullable
- [5517](Azure/azure-cosmos-dotnet-v3#5517)
SystemTextSerializer: Fixes serialization to preserve polymorphic
serialization when base type is marked [JsonPolymorphic]
- [5498](Azure/azure-cosmos-dotnet-v3#5498)
Query: Fixes hybrid search query plan optimization to be enabled by
default
- [5543](Azure/azure-cosmos-dotnet-v3#5543)
Query: Fixes GetItemQueryIterator to honor the supplied (optional)
FeedRange
- [5541](Azure/azure-cosmos-dotnet-v3#5541)
Upsert/Batch: Fixes bug where RequestOptions are not honored for Upsert
requests in Bulk Mode
- [5544](Azure/azure-cosmos-dotnet-v3#5544)
Query : Fixes LINQ API to support builtin functions - ARRAY_CONTAINS_ALL
and ARRAY_CONTAINS_ANY

## 3.57.0-preview.1

### <a name="3.57.0-preview.1"/>
[3.57.0-preview.1](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.57.0-preview.1)
- 2025-12-16
#### Fixed
- [5528](Azure/azure-cosmos-dotnet-v3#5528)
Semantic Reranking: Refactors RerankResult.Document to return string
type


## 3.57.0-preview.0

### <a name="3.57.0-preview.0"/>
[3.57.0-preview.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.57.0-preview.0)
- 2025-11-25
#### Added
- [5445](Azure/azure-cosmos-dotnet-v3#5445)
Semantic Rerank: Adds Semantic Rerank API


## 3.56.0

### <a name="3.56.0"/>
[3.56.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.56.0) -
2025-11-25

#### Fixed

- [5550](Azure/azure-cosmos-dotnet-v3#5550)
Owner not found: Fixes substatus code 1003 for item operations when
container doesn't exist (Direct mode)


## 3.56.0-preview.0

### <a name="3.56.0-preview.0"/>
[3.56.0-preview.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.56.0-preview.0)
- 2025-11-14
#### Fixed
- [5260](Azure/azure-cosmos-dotnet-v3#5260) HPK:
Fixes Lengthaware normalized EPK comparators as default (only in
preview)

## 3.55.0

### <a name="3.55.0"/>
[3.55.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.55.0) -
2025-11-14
#### Added
- [5462](Azure/azure-cosmos-dotnet-v3#5462)
[VectorIndexPath]: Adds GA IndexingSearchListSize and
VectorIndexShardKey
- [5470](Azure/azure-cosmos-dotnet-v3#5470)
Change feed: Adds id and pk to ChangeFeedMetadata for delete operations
(Default policy excludes Previous for deletes)
- [5474](Azure/azure-cosmos-dotnet-v3#5474)
Binary Encoding: Adds support to DateTimeOffset type


#### Fixed
- [5469](Azure/azure-cosmos-dotnet-v3#5469)
BarrierRequests: Adds 410/LeaseNotFound(1022) fail-fast to cross-region
retries by retrying on primary (checks last replica response)
- [5475](Azure/azure-cosmos-dotnet-v3#5475)
Query: Fixes query advisor prefix url links to use aka.ms
- [5476](Azure/azure-cosmos-dotnet-v3#5476)
HttpTimeoutPolicy: Fixes QueryPlan retry gaps (Http POST but its Read)
- [5497](Azure/azure-cosmos-dotnet-v3#5497)
HttpTimeoutPolicy: Fixes PPAF and ThinProxy timeout polices to (6s, 6s,
10s) for both PointReads and NonPointReads


## 3.55.0-preview.1



## 3.55.0-preview.0

### <a name="3.55.0-preview.0"/>
[3.55.0-preview.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.55.0-preview.0)
- 2025-10-2

> Note: FullTextScore query function now expects string value parameters
(e.g., FullTextScore(c.text, 'swim','run')); preview array syntax is no
longer supported.

#### Added

- [5368](Azure/azure-cosmos-dotnet-v3#5368)
VectorDataType: Adds Support for Float16 Data Type
- [5411](Azure/azure-cosmos-dotnet-v3#5411)
Hedging: Adds GA for adding hedging via RequestOptions
- [5412](Azure/azure-cosmos-dotnet-v3#5412)
Hedging: Adds back diagnostics filed Response Region to hedging request
diagnostics
- [5386](Azure/azure-cosmos-dotnet-v3#5386)
Build: Removes System.Net.Http and System.Text.RegularExpressions
package references

#### Fixed

- [5409](Azure/azure-cosmos-dotnet-v3#5409)
Query: Fixes to not use passthrough context for collections with HPK
- [5422](Azure/azure-cosmos-dotnet-v3#5422)
Diagnostics: Fixes race condition that can cause
InvalidOperationException in
CosmosOperationCancelledException.ToString()
- [5427](Azure/azure-cosmos-dotnet-v3#5427)
PPAF: Fixes issue where setting RequestTimeout to 0 second will cause
PPAF dynamic enablement to break

## 3.54.1



## 3.54.0

### <a name="3.54.0"/>
[3.54.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.54.0) -
2025-10-2

> Note: FullTextScore query function now expects string value parameters
(e.g., FullTextScore(c.text, 'swim','run')); preview array syntax is no
longer supported.

#### Added

- [5368](Azure/azure-cosmos-dotnet-v3#5368)
VectorDataType: Adds Support for Float16 Data Type
- [5411](Azure/azure-cosmos-dotnet-v3#5411)
Hedging: Adds GA for adding hedging via RequestOptions
- [5412](Azure/azure-cosmos-dotnet-v3#5412)
Hedging: Adds back diagnostics filed Response Region to hedging request
diagnostics
- [5386](Azure/azure-cosmos-dotnet-v3#5386)
Build: Removes System.Net.Http and System.Text.RegularExpressions
package references

#### Fixed

- [5409](Azure/azure-cosmos-dotnet-v3#5409)
Query: Fixes to not use passthrough context for collections with HPK
- [5422](Azure/azure-cosmos-dotnet-v3#5422)
Diagnostics: Fixes race condition that can cause
InvalidOperationException in
CosmosOperationCancelledException.ToString()
- [5427](Azure/azure-cosmos-dotnet-v3#5427)
PPAF: Fixes issue where setting RequestTimeout to 0 second will cause
PPAF dynamic enablement to break

## 3.54.0-preview.2

## <a name="3.54.0-preview.2"/>
[3.54.0-preview.2](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.54.0-preview.2)
- 2025-10-7

#### Fixed

- [5427](Azure/azure-cosmos-dotnet-v3#5427)
PPAF: Fixes issue where setting RequestTimeout to 0 second will cause
PPAF dynamic enablement to break

## 3.54.0-preview.1

### <a name="3.54.0-preview.1"/>
[3.54.0-preview.1](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.54.0-preview.1)
- 2025-8-28
#### Added
- [5364](Azure/azure-cosmos-dotnet-v3#5364)
TokenCredentialCache: Adds a fallback mechanism to AAD scope override.
- [5361](Azure/azure-cosmos-dotnet-v3#5361)
Trace: Fixes thread safety issue in Trace class causing high CPU usage
and InvalidOperationException

## 3.54.0-preview.0

### <a name="3.54.0-preview.0"/>
[3.54.0-preview.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.54.0-preview.0)
- 2025-8-13

#### Added

- [5253](Azure/azure-cosmos-dotnet-v3#5253)
License: Adds new license expression
- [5252](Azure/azure-cosmos-dotnet-v3#5252)
TokenCredentialCache: Adds an options to override AAD audience scope
- [5308](Azure/azure-cosmos-dotnet-v3#5308)
Query: Adds Weighted RRF capability to LINQ
- [5213](Azure/azure-cosmos-dotnet-v3#5213)
Query: Adds GetIndexMetrics LINQ extension method

#### Fixed

- [5273](Azure/azure-cosmos-dotnet-v3#5273)
Query: Fixes non streaming order by queries to not be tagged as
passthrough queries
- [5291](Azure/azure-cosmos-dotnet-v3#5291)
GatewayStoreClient: Fixes stream consumption bug in
GatewayStoreClient.CreateDocumentClientExceptionAsync
- [5317](Azure/azure-cosmos-dotnet-v3#5317)
Query: Fixes HybridSearchQueryTests to account for backend changes in
phrase search

## 3.53.2

### <a name="3.53.2"/>
[3.53.2](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.53.2) -
2025-10-7

#### Fixed

- [5427](Azure/azure-cosmos-dotnet-v3#5427)
PPAF: Fixes issue where setting RequestTimeout to 0 second will cause
PPAF dynamic enablement to break

## 3.53.1

### <a name="3.53.1"/>
[3.53.1](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.53.1) -
2025-8-28
#### Added
- [5364](Azure/azure-cosmos-dotnet-v3#5364)
TokenCredentialCache: Adds a fallback mechanism to AAD scope override.
- [5361](Azure/azure-cosmos-dotnet-v3#5361)
Trace: Fixes thread safety issue in Trace class causing high CPU usage
and InvalidOperationException

## 3.53.0

### <a name="3.53.0"/>
[3.53.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.53.0) -
2025-8-13

#### Added

- [5253](Azure/azure-cosmos-dotnet-v3#5253)
License: Adds new license expression
- [5252](Azure/azure-cosmos-dotnet-v3#5252)
TokenCredentialCache: Adds an options to override AAD audience scope
- [5308](Azure/azure-cosmos-dotnet-v3#5308)
Query: Adds Weighted RRF capability to LINQ
- [5213](Azure/azure-cosmos-dotnet-v3#5213)
Query: Adds GetIndexMetrics LINQ extension method

#### Fixed

- [5273](Azure/azure-cosmos-dotnet-v3#5273)
Query: Fixes non streaming order by queries to not be tagged as
passthrough queries
- [5291](Azure/azure-cosmos-dotnet-v3#5291)
GatewayStoreClient: Fixes stream consumption bug in
GatewayStoreClient.CreateDocumentClientExceptionAsync
- [5317](Azure/azure-cosmos-dotnet-v3#5317)
Query: Fixes HybridSearchQueryTests to account for backend changes in
phrase search


## 3.53.0-preview.1

### <a name="3.53.0-preview.1"/>
[3.53.0-preview.1](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.53.0-preview.1)
- 2025-7-10

#### Fixed
- [5257](Azure/azure-cosmos-dotnet-v3#5257)
QueryPlan: Fixes 410 Gone exception on query plan calls in Non-X64
windows platforms

## 3.53.0-preview.0

### <a name="3.53.0-preview.0"/>
[3.53.0-preview.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.53.0-preview.0)
- 2025-6-13

#### Added

- [5180](Azure/azure-cosmos-dotnet-v3#5180)
Query: Adds public PopulateQueryAdvice capability
- [5215](Azure/azure-cosmos-dotnet-v3#5215)
Client Encryption: Adds support for latest Cosmos package and bumps up
Encryption package for nuget release
- [5157](Azure/azure-cosmos-dotnet-v3#5157)
Query: Adds support for LINQ extension method for VectorDistance
> This also includes a Direct Package version update to `3.39.1` in PR
[#​5241](Azure/azure-cosmos-dotnet-v3#5241)
which includes the following:
- Rntbd Health Check Improvements Part 3: Enables Aggressive Timeout
Detection By Default.
 - Introduce East US 3 region in the SDK.

#### Fixed

- [5221](Azure/azure-cosmos-dotnet-v3#5221)
Query : Fixes Skip + Order By Bug
- [5218](Azure/azure-cosmos-dotnet-v3#5218)
Binary Encoding: Fixes DateTime Parsing Issue with Trailing Zeros in the
Milli-Seconds Precision
- [5234](Azure/azure-cosmos-dotnet-v3#5234)
Client Encryption: Fixes Encryption Release Pipeline

## 3.52.1

### <a name="3.52.1"/>
[3.52.1](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.52.1) -
2025-7-10

#### Fixed
- [5257](Azure/azure-cosmos-dotnet-v3#5257)
QueryPlan: Fixes 410 Gone exception on query plan calls in Non-X64
windows platforms



## 3.52.0

### <a name="3.52.0"/>
[3.52.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.52.0) -
2025-6-13

#### Added

- [5180](Azure/azure-cosmos-dotnet-v3#5180)
Query: Adds public PopulateQueryAdvice capability
- [5215](Azure/azure-cosmos-dotnet-v3#5215)
Client Encryption: Adds support for latest Cosmos package and bumps up
Encryption package for nuget release
- [5157](Azure/azure-cosmos-dotnet-v3#5157)
Query: Adds support for LINQ extension method for VectorDistance
> This also includes a Direct Package version update to `3.39.1` in PR
[#​5241](Azure/azure-cosmos-dotnet-v3#5241)
which includes the following:
- Rntbd Health Check Improvements Part 3: Enables Aggressive Timeout
Detection By Default.
 - Introduce East US 3 region in the SDK.

#### Fixed

- [5221](Azure/azure-cosmos-dotnet-v3#5221)
Query : Fixes Skip + Order By Bug
- [5218](Azure/azure-cosmos-dotnet-v3#5218)
Binary Encoding: Fixes DateTime Parsing Issue with Trailing Zeros in the
Milli-Seconds Precision
- [5234](Azure/azure-cosmos-dotnet-v3#5234)
Client Encryption: Fixes Encryption Release Pipeline

## 3.52.0-preview.0

### <a name="3.52.0-preview.0"/>
[3.52.0-preview.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.52.0-preview.0)
- 2025-5-16

#### Added

- [5182](Azure/azure-cosmos-dotnet-v3#5182)
InMemoryLeaseContainer: Adds public API to use InMemoryLeaseContainer
with ChangeFeedProcessorBuilder
- [5170](Azure/azure-cosmos-dotnet-v3#5170)
PPAF: Adds Code to Fetch Enablement Flag Through Gateway Database
Account Response

#### Fixed

- [5197](Azure/azure-cosmos-dotnet-v3#5197)
GlobalEndpointManager: Fixes Observed exception
(ObjectDisposedException)

## 3.51.0

### <a name="3.51.0"/>
[3.51.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.51.0) -
2025-5-16

#### Added

- [5182](Azure/azure-cosmos-dotnet-v3#5182)
InMemoryLeaseContainer: Adds public API to use InMemoryLeaseContainer
with ChangeFeedProcessorBuilder
- [5170](Azure/azure-cosmos-dotnet-v3#5170)
PPAF: Adds Code to Fetch Enablement Flag Through Gateway Database
Account Response

#### Fixed

- [5197](Azure/azure-cosmos-dotnet-v3#5197)
GlobalEndpointManager: Fixes Observed exception
(ObjectDisposedException)

## 3.51.0-preview.0

### <a name="3.51.0-preview.0"/>
[3.51.0-preview.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.51.0-preview.0)
- 2025-5-9

#### Added

- [4993](Azure/azure-cosmos-dotnet-v3#4993)
Query: Adds LINQ extension method for ORDER BY RANK, FullTextScore and
RRF
- [5121](Azure/azure-cosmos-dotnet-v3#5121)
Query: Adds support for the optimized query plan that skips the order by
rewrite
- [5190](Azure/azure-cosmos-dotnet-v3#5190)
Hedging: Adds Hedging for Write requests GA

#### Fixed

- [5145](Azure/azure-cosmos-dotnet-v3#5145)
Query: Fixes handling of undefined projections in hybrid search
- [5150](Azure/azure-cosmos-dotnet-v3#5150)
Query: Fixes Full Text Search APIs by marking them public
- [5162](Azure/azure-cosmos-dotnet-v3#5162) HPK
: Fixes code documentation to reference PartitionKeyPaths for HPK
scenarios
- [5163](Azure/azure-cosmos-dotnet-v3#5163)
Query: Fixes function signature for RRF, OrderByRank and FullTextScore
LINQ extension methods
- [5171](Azure/azure-cosmos-dotnet-v3#5172)
Query: Fixes FullText Policy API by making language optional
- [5189](Azure/azure-cosmos-dotnet-v3#5189)
Hedging: Fixes Concurrency Issue

## 3.50.0

### <a name="3.50.0"/>
[3.50.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.50.0) -
2025-5-9

#### Added

- [4993](Azure/azure-cosmos-dotnet-v3#4993)
Query: Adds LINQ extension method for ORDER BY RANK, FullTextScore and
RRF
- [5121](Azure/azure-cosmos-dotnet-v3#5121)
Query: Adds support for the optimized query plan that skips the order by
rewrite
- [5190](Azure/azure-cosmos-dotnet-v3#5190)
Hedging: Adds Hedging for Write requests GA

#### Fixed

- [5145](Azure/azure-cosmos-dotnet-v3#5145)
Query: Fixes handling of undefined projections in hybrid search
- [5150](Azure/azure-cosmos-dotnet-v3#5150)
Query: Fixes Full Text Search APIs by marking them public
- [5162](Azure/azure-cosmos-dotnet-v3#5162) HPK
: Fixes code documentation to reference PartitionKeyPaths for HPK
scenarios
- [5163](Azure/azure-cosmos-dotnet-v3#5163)
Query: Fixes function signature for RRF, OrderByRank and FullTextScore
LINQ extension methods
- [5171](Azure/azure-cosmos-dotnet-v3#5172)
Query: Fixes FullText Policy API by making language optional
- [5189](Azure/azure-cosmos-dotnet-v3#5189)
Hedging: Fixes Concurrency Issue

## 3.50.0-preview.0

### <a name="3.50.0-preview.0"/>
[3.50.0-preview.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.50.0-preview.0)
- 2025-4-17

#### Added
- [5136](Azure/azure-cosmos-dotnet-v3#5136)
VectorIndexing: Adds Preview APIs for VectorIndexing Policies

## 3.49.0

### <a name="3.49.0"/>
[3.49.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.49.0) -
2025-4-17

#### Added

- [5077](Azure/azure-cosmos-dotnet-v3#5077)
ThroughputBucketing: Adds changes to make ThroughputBucket public for
preview SDK
- [5069](Azure/azure-cosmos-dotnet-v3#5069)
AsyncCache: Adds support for stack trace optimization during exceptions
for AsyncCache and AsyncCacheNonblocking
- [5120](Azure/azure-cosmos-dotnet-v3#5106)
Query: Adds an environment variable for disabling the hybrid search
query plan optimization
- [5127](Azure/azure-cosmos-dotnet-v3#5127)
UnknownRntbdHeader : Adds a new SDK capability for UnknownRntbdHeaders
- [5128](Azure/azure-cosmos-dotnet-v3#5128)
Session Consistency: Adds SessionTokenMismatchRetryPolicy optimization
through customer supplied region switch hints

### Fixed

- [5089](Azure/azure-cosmos-dotnet-v3#5089)
WebAssembly : Fixes Guard the ServicePointAccessor call in DocumentClass
with IsSupported as well
- [5106](Azure/azure-cosmos-dotnet-v3#5106)
Diagnostics: Fixes bug where some overloaded substatus codes are
displayed incorrectly in diagnostics.
- [5139](Azure/azure-cosmos-dotnet-v3#5139)
Query: Fixes flip of boolean switch for hybridSearchSkipOrderByRewrite

## 3.49.0-preview.1

### <a name="3.49.0-preview.1"/>
[3.49.0-preview.1](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.49.0-preview.1)
- 2025-4-11

#### Fixes

- [5108](Azure/azure-cosmos-dotnet-v3#5108)
Metadata requests: Fixes bug where certain metadata requests are not
retried with a client cold start with only query requests

## 3.49.0-preview.0

### <a name="3.49.0-preview.0"/>
[3.49.0-preview.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.49.0-preview.0)
- 2025-3-21

#### Fixes

- [5024](http://github.con/Azure/azure-cosmos-dotnet-v3/pull/5024)
Query: Fixes logic to determine whether to use distributed query by
adding a check for gateway connection mode
- [5049](http://github.con/Azure/azure-cosmos-dotnet-v3/pull/5049)
.NET9: Fixes WebAssembly or browser scenarios by conditionally setting
the ConnectionLimit
- [4470](http://github.con/Azure/azure-cosmos-dotnet-v3/pull/4470)
NonBlockingAsyncCache: Fixes lambda func capturing the outer context
(memory optimization)
- [4977](http://github.con/Azure/azure-cosmos-dotnet-v3/pull/4977)
Heiarchical Partition Keys: Fixes bug for ReadMany where None Partition
does not return results

#### Added

- [5057](http://github.con/Azure/azure-cosmos-dotnet-v3/pull/5057)
AvailabilityStrategy: Adds WithAvailabilityStrategy method to public GA
SDK.
- [5011](http://github.con/Azure/azure-cosmos-dotnet-v3/pull/5011)
Query: Adds query feature and deserialization of component weights for
weighted rank fusion
- [4980](http://github.con/Azure/azure-cosmos-dotnet-v3/pull/4980)
Query: Adds FullTextContains, FullTextContainsAll, FullTextContainsAny
as LINQ extension method

## 3.48.1

### <a name="3.48.1"/>
[3.48.1](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.48.1) -
2025-4-11

#### Fixes

- [5108](Azure/azure-cosmos-dotnet-v3#5108)
Metadata requests: Fixes bug where certain metadata requests are not
retried with a client cold start with only query requests

## 3.48.0

### <a name="3.47.3"/>
[3.48.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.48.0) -
2025-3-21

#### Fixes

- [5024](http://github.con/Azure/azure-cosmos-dotnet-v3/pull/5024)
Query: Fixes logic to determine whether to use distributed query by
adding a check for gateway connection mode
- [5049](http://github.con/Azure/azure-cosmos-dotnet-v3/pull/5049)
.NET9: Fixes WebAssembly or browser scenarios by conditionally setting
the ConnectionLimit
- [4470](http://github.con/Azure/azure-cosmos-dotnet-v3/pull/4470)
NonBlockingAsyncCache: Fixes lambda func capturing the outer context
(memory optimization)
- [4977](http://github.con/Azure/azure-cosmos-dotnet-v3/pull/4977)
Heiarchical Partition Keys: Fixes bug for ReadMany where None Partition
does not return results

#### Added

- [5057](http://github.con/Azure/azure-cosmos-dotnet-v3/pull/5057)
AvailabilityStrategy: Adds WithAvailabilityStrategy method to public GA
SDK.
- [5011](http://github.con/Azure/azure-cosmos-dotnet-v3/pull/5011)
Query: Adds query feature and deserialization of component weights for
weighted rank fusion
- [4980](http://github.con/Azure/azure-cosmos-dotnet-v3/pull/4980)
Query: Adds FullTextContains, FullTextContainsAll, FullTextContainsAny
as LINQ extension method

## 3.48.0-preview.2

### <a name="3.48.0-preview.2"/>
[3.48.0-preview.2](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.48.0-preview.2)
- 2025-2-28

#### Fixed
- [5030](Azure/azure-cosmos-dotnet-v3#5030)
Binary Encoding: Fixes Serialization Gaps on Newtonsoft Reader/Writer
for Transactional Batch API.

## 3.48.0-preview.1

### <a name="3.48.0-preview.1"/>
[3.48.0-preview.1](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.48.0-preview.1)
- 2025-2-14

#### Added
- [5013](Azure/azure-cosmos-dotnet-v3#5013)
Resiliency: Fixes a bug in the feature for "Faster detection of broken
Transport connections".
> Set Environment variable
AZURE_COSMOS_AGGRESSIVE_TIMEOUT_DETECTION_ENABLED to "True" to enable
the above feature. Fixed an issue where connections weren't marked as
"unhealthy" under sustained failures, delaying recovery. Now, unhealthy
connections trigger prompt reconnection, ensuring continuous client
operations.

## 3.48.0-preview.0

### <a name="3.48.0-preview.0"/>
[3.48.0-preview.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.48.0-preview.0)
- 2025-2-7

#### Added 

- [4706](Azure/azure-cosmos-dotnet-v3#4706)
Hedging: Adds support for writes on multi region accounts

Commits viewable in [compare
view](Azure/azure-cosmos-dotnet-v3@3.47.2...3.57.1).
</details>

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=Microsoft.Azure.Cosmos&package-manager=nuget&previous-version=3.47.2&new-version=3.57.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Hierarchical Partition Key] - Fix the 410/1002 Gone Exception during queries where customer passes a partial PK in "QueryRequestOptions"

4 participants