Skip to content

Conversation

@sourabh1007
Copy link
Contributor

@sourabh1007 sourabh1007 commented Mar 4, 2024

Why make this change?

We want to use SDK latest features like:

  1. Patch API
  2. Ability to disable certificate check by including a flag in connection string.
  3. Hierarchal Partition Key

etc.

What is this change?

Upgrade Cosmos to the latest version3.38.1. It's a non-breaking change

How was this tested?

NA

Sample Request(s)

NA

@sourabh1007
Copy link
Contributor Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 2 pipeline(s).

@seantleonard
Copy link
Contributor

There may not be tests for this.. how do we know DAB isn't affected by at least one of the breaking changes for CosmosSDK listed in : https://github.com/Azure/azure-cosmos-dotnet-v3/blob/master/changelog.md since we are upgrading from 3.2.0 2021-06-21 (released in 2021)

⚠️ Note: Starting with version 3.38.0, the .NET SDK enables the ODE feature by default. This can potentially cause a new type of continuation token to be generated. Such a token is not recognized by the older SDKs by design and this could result in a Malformed Continuation Token Exception. If you have a scenario where tokens generated from the newer SDKs are used by an older SDK, we recommend a 2 step approach to upgrade:

Upgrade to the new SDK and disable ODE, both together as part of a single deployment. Wait for all nodes to upgrade.
In order to disable ODE, set EnableOptimisticDirectExecution to false in the QueryRequestOptions.
Enable ODE as part of second deployment for all nodes.

Copy link
Collaborator

@Aniruddh25 Aniruddh25 left a comment

Choose a reason for hiding this comment

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

LGTM

@Aniruddh25
Copy link
Collaborator

If you have a scenario where tokens generated from the newer SDKs are used by an older SDK, we recommend a 2 step approach to upgrade:

Good question! but I don't think we have a scenario where tokens generated by newer DAB(that uses the new SDK) will be used by older DAB (that uses the old SDK). Because when client apps target a newer DAB, older DAB shouldn't be in picture.

Copy link
Contributor

@seantleonard seantleonard left a comment

Choose a reason for hiding this comment

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

thanks for updating the sdk!

@Aniruddh25
Copy link
Collaborator

FYI @sourabh1007 merging this, if you have concerns regarding breaking changes please address in a separate PR

@Aniruddh25 Aniruddh25 merged commit 97d70f4 into main Mar 4, 2024
@Aniruddh25 Aniruddh25 deleted the users/sourabhjain/upgradecosmosdbsdk branch March 4, 2024 23:56
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.

4 participants