[SERVER-37693] Add uassert that a shard should never see implicitlyCreateCollection error inside a transaction Created: 22/Oct/18  Updated: 29/Oct/23  Resolved: 01/Nov/18

Status: Closed
Project: Core Server
Component/s: Sharding
Affects Version/s: None
Fix Version/s: 4.1.5

Type: Task Priority: Major - P3
Reporter: Esha Maharishi (Inactive) Assignee: Jack Mulrow
Resolution: Fixed Votes: 0
Labels: ShardedTxn:RouterSupport
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Backwards Compatibility: Fully Compatible
Sprint: Sharding 2018-11-05
Participants:

 Description   

As stated in the design:

Operations running in a transaction are not allowed to create collections implicitly (insert and upsert, findAndModify), which is enforced before CannotImplicitlyCreateCollection can be thrown, so the router should never see this exception in a transaction.



 Comments   
Comment by Githook User [ 01/Nov/18 ]

Author:

{'name': 'Jack Mulrow', 'email': 'jack.mulrow@mongodb.com', 'username': 'jsmulrow'}

Message: SERVER-37693 Uassert shards never return CannotImplicitlyCreateCollection in a transaction
Branch: master
https://github.com/mongodb/mongo/commit/b31e8fd295abde81246d153d4c141f83b0a33db6

Comment by Andy Schwerin [ 23/Oct/18 ]

Why invariant? Is continued operation going to corrupt something? Fatal errors off network messages frequently end badly. Also, never invariant on a network response; only fassert. Invariant should never fire, but every network message seems possible.

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