Fixing id encoding issues when using special characters for custome already on ComputeGateway #22818
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Packages impacted by this PR
@azure/cosmos
Issues associated with this PR
ICM#315831633
Describe the problem that is addressed by this PR
PR #22548 - #22548 changed the encoding of special characters in the documentId to make sure it work with RoutingGateway - it turned out that ComputeGateway and RoutingGateway expect different encoding (RoutingGateway expects id in the Uri to be double-percent-encoded - while Compute expects it to be only single percent-encoded. Aftersome discussion we decided that ComputeGateway behavior is actually correct - and making sure SDK works weel even when id has special characters in ComputeGateway means there are no regressions for customers on RoutingGateway (same failures as before #22548) - but at least it allows us to unblock customers who want to use special characters in id by moving them from RoutingGateway to ComputeGateway. The automatic migration from RoutingGateway to ComputeGateway will also accelerate - and over time the issues in RoutingGateway will vanish.
This PR moves back to a behavior working well with ComuteGateway - and ass tests against RountingGateway and ComputeGateway in the emulator.
What are the possible designs available to address the problem? If there are more than one possible design, why was the one in this PR chosen?
n/a
Are there test cases added in this PR? (If not, why?)
yes
Provide a list of related PRs (if any)
22548
Command used to generate this PR:**(Applicable only to SDK release request PRs)
n/a
Checklists