[SERVER-44037] Remove restartCatalog Created: 15/Oct/19  Updated: 29/Oct/23  Resolved: 07/Feb/20

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

Type: Task Priority: Major - P3
Reporter: Lingzhi Deng Assignee: Andrew Chen
Resolution: Fixed Votes: 0
Labels: neweng
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Depends
Issue split
split from SERVER-43242 Deadlock involving commands acquiring... Closed
Related
is related to SERVER-40588 Allow restarting the catalog on BiggieSE Closed
Backwards Compatibility: Minor Change
Backport Requested:
v4.2
Sprint: Execution Team 2020-02-10
Participants:
Linked BF Score: 11

 Description   

Update: we actually think we should remove restartCatalog altogether.

Remove global X lock acquisition for restartCatalog. This is because acquiring global lock in X mode can be blocked by prepared transactions. The enqueued global X lock can block oplog queries which need the global IS lock. If these oplog queries and the data replication are needed to satisfy the prepared transaction's write concern, then the prepare transaction and replication cannot make progress. Thus a deadlock occurs.

Alternatively, if removing global X lock is not an option, deprecate the command or make sure it won't be blocked on prepare transactions.



 Comments   
Comment by Githook User [ 05/Feb/20 ]

Author:

{'name': 'Andrew Chen', 'email': 'andrew.chen@10gen.com'}

Message: SERVER-44037 Removed the restartCatalog Cmd and all references to it

delete mode 100644 jstests/core/restart_catalog.js
delete mode 100644 jstests/noPassthrough/closeAll_with_background_ops_fails_safely.js
delete mode 100644 jstests/noPassthrough/restart_catalog_preserves_min_visible.js
delete mode 100644 jstests/noPassthrough/restart_catalog_sharded_cluster.js
delete mode 100644 jstests/noPassthroughWithMongod/restart_catalog_interrupts_background_validation.js
delete mode 100644 src/mongo/db/commands/restart_catalog_command.cpp
delete mode 100644 src/mongo/s/commands/cluster_restart_catalog_command.cpp
Branch: master
https://github.com/mongodb/mongo/commit/ad06b5ffbc39838e92cae0b73f51d3cf5a417116

Comment by Judah Schvimer [ 16/Oct/19 ]

+1

Comment by Daniel Gottlieb (Inactive) [ 16/Oct/19 ]

I'll vote for removing the command and the associated tests. It's served its purpose.

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