[SERVER-34423] collMod interruption may cause invariant failure Created: 11/Apr/18  Updated: 29/Oct/23  Resolved: 01/May/18

Status: Closed
Project: Core Server
Component/s: Catalog, Storage
Affects Version/s: None
Fix Version/s: 3.6.5, 4.0.0

Type: Bug Priority: Major - P3
Reporter: Geert Bosch Assignee: Geert Bosch
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Depends
Duplicate
Related
Backwards Compatibility: Fully Compatible
Operating System: ALL
Backport Requested:
v3.6
Sprint: Storage NYC 2018-05-07
Participants:
Linked BF Score: 45

 Description   

At https://github.com/mongodb/mongo/blob/68005e0ffcc50c9260a162b717aaa5c2225096da/src/mongo/db/catalog/coll_mod.cpp#L445
we register an onRollback handler that calls refreshUUID to undo an update to the cached UUID value of the Collection object. However, this requires a storage read, which is not allowed during rollback.

Instead, the Collection::refreshUUID method should register its own rollback handler.



 Comments   
Comment by Githook User [ 08/May/18 ]

Author:

{'email': 'geert@mongodb.com', 'name': 'Geert Bosch', 'username': 'GeertBosch'}

Message: SERVER-34423 Avoid reloading UUID on collMod rollback

(cherry picked from commit bf76453a0dcb0e4309f5b249cfe30cffe101b1b4)

Conflicts:
src/mongo/db/storage/write_unit_of_work.cpp
src/mongo/db/storage/write_unit_of_work.h
Branch: v3.6
https://github.com/mongodb/mongo/commit/2f523f843dbfa351d5ef6867017d14478d7a0d6d

Comment by Githook User [ 01/May/18 ]

Author:

{'email': 'geert@mongodb.com', 'name': 'Geert Bosch', 'username': 'GeertBosch'}

Message: SERVER-34423 Avoid reloading UUID on collMod rollback
Branch: master
https://github.com/mongodb/mongo/commit/bf76453a0dcb0e4309f5b249cfe30cffe101b1b4

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