[DOCS-12204] Docs for SERVER-36587: Committing a transaction which was started with a killCursors command can fail Created: 15/Nov/18  Updated: 13/Nov/23  Resolved: 21/May/19

Status: Closed
Project: Documentation
Component/s: manual, Server
Affects Version/s: None
Fix Version/s: 4.1.6, Server_Docs_20231030, Server_Docs_20231106, Server_Docs_20231105, Server_Docs_20231113

Type: Task Priority: Major - P3
Reporter: Kay Kim (Inactive) Assignee: Kay Kim (Inactive)
Resolution: Fixed Votes: 0
Labels: docs-txns
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Documented
documents SERVER-36587 Committing a transaction which was st... Closed
Related
related to DOCS-12523 4.2: transactions supported on sharde... Closed
Participants:
Days since reply: 4 years, 38 weeks, 1 day ago
Epic Link: DOCS: 4.2 Server/Tools

 Description   

Description

Description:

We are disallowing killCursors to be the first operation in a transaction

Engineering Ticket Description:

AsyncResultsMerger::blockingKill() sends a killCursors command to each of its remotes. However, it discards the callback handle for the request, so blockingKill() can return before the killCursors command reaches the remote. This means that if the client issues a killCursors command, and then a commitTransaction command, a shard can receive the commitTransaction before the killCursors. This is problematic in combination with transactions. Consider the following sequence of events:

  • User starts transaction 0 with killCursors sent to mongos.
  • User receives ok response.
  • User sends commitTransaction for transaction 0 to mongos.
  • mongod receives commitTransaction, which fails since transaction 0 does not yet exist.
  • mongod receives killCursors, which starts transaction 0.

Now the mongod is stuck with transaction 0 open.

Scope of changes

Impact to Other Docs

MVP (Work and Date)

Resources (Scope or Design Docs, Invision, etc.)



 Comments   
Comment by Githook User [ 21/May/19 ]

Author:

{'name': 'Kay Kim', 'email': 'kay.kim@10gen.com', 'username': 'kay-kim'}

Message: DOCS-12204: 4.2 killOp restriction in transactions
Branch: master
https://github.com/mongodb/docs/commit/8d748a2340829ff0c1e15241d5c48a2c4ff428f2

Generated at Thu Feb 08 08:04:39 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.