Skip to content

Fix document editor ETag concurrency handling - #3269

Open
jibin jose (jibin7jose) wants to merge 2 commits into
microsoft:mainfrom
jibin7jose:fix/document-editor-etag-conflict
Open

Fix document editor ETag concurrency handling#3269
jibin jose (jibin7jose) wants to merge 2 commits into
microsoft:mainfrom
jibin7jose:fix/document-editor-etag-conflict

Conversation

@jibin7jose

@jibin7jose jibin jose (jibin7jose) commented Aug 17, 2026

Copy link
Copy Markdown

Fixes #3263

Summary

  • Add If-Match precondition handling to document editor saves using the loaded _etag.
  • Detect Cosmos DB 412 precondition failures and surface a conflict flow instead of silently overwriting.
  • Add Refresh, Compare, and Overwrite actions for concurrent edit conflicts.
  • Keep the existing _etag guard coverage with unit tests.

@jibin7jose
jibin jose (jibin7jose) requested a review from a team as a code owner August 17, 2026 06:08
@jibin7jose

Copy link
Copy Markdown
Author

Thanks for the heads-up. I’ll fix the conflicts and check the build failure.

@sevoku

Copy link
Copy Markdown
Member

Hi jibin jose (@jibin7jose), thank you for working on this and for the thorough implementation and tests.

I merged the core concurrency fix through #3266, since it overlapped with the partition-key move data-loss flow addressed there.

The merged implementation stores the loaded ETag as trusted extension-host state, keeps Overwrite conditional against the latest server version, and protects partition-key moves through create-before-delete and recoverable cleanup.

The Compare feature remains unique to this PR and would still be valuable. Could you update this branch from main and narrow the PR to adding Compare on top of the merged conflict handling?

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.

Document editor can silently overwrite concurrent changes without an ETag precondition

3 participants