[DOCS-10837] Docs for SERVER-31114: Perform targeted invalidation on direct writes to the `config.transactions` collection Created: 27/Sep/17  Updated: 29/Oct/23  Resolved: 01/Dec/17

Status: Closed
Project: Documentation
Component/s: manual, Server
Affects Version/s: None
Fix Version/s: 3.5.14, 3.6.0-rc0

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

Issue Links:
Documented
documents SERVER-31114 Perform targeted invalidation on dire... Closed
Related
is related to DOCS-10733 Docs for SERVER-30407: Make findAndMo... Closed
is related to DOCS-10736 Docs for SERVER-28918: Make CRUD writ... Closed
Participants:
Days since reply: 6 years, 10 weeks, 6 days ago
Epic Link: DOCS: 3.6 Server

 Description   

Documentation Request Summary:

Not sure if we document our internal collections, but this change treats the config.transactions collection specially and only allows records with the following structure in it (all fields are mandatory):

  • _id (BSON) - BSON serialization of a logical session id
  • txnNum (int32) - The last transaction, which started on this session
  • lastWriteOpTimeTs (Timestamp) - The timestamp of the last oplog entry written for this session

Deleting a document from this collection invalidates the session's transaction information, which means that all retryability information is lost for that session.

Dropping this collection will break the retryable writes feature and must never be done by users. The collection will be automatically recreated on stepUp/stepDown.

Engineering Ticket Description:

As implemented, direct writes to the config.transactions collection will invalidate the entire session transactions cache. This is not optimal, because session cleanup also performs direct writes to the sessions catalog and this can happen fairly frequently.

Instead, when a document is available for the direct write, we should try to extract the session id from it and only invalidate that session.



 Comments   
Comment by Githook User [ 30/Nov/17 ]

Author:

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

Message: DOCS-10736, DOCS-10733, DOCS-10837: retryable writes part 2
Branch: master
https://github.com/mongodb/docs/commit/b066f96609ba114596b21e20bfad006cd51e0e2f

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