[SERVER-51717] Empty database directory will not be removed if KVEngine::dropIdent() does not drop the ident right away Created: 16/Oct/20  Updated: 29/Oct/23  Resolved: 04/Nov/20

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

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

Issue Links:
Depends
Related
related to SERVER-48882 If directoryperdb is active, remove e... Closed
is related to SERVER-53061 Empty database directory will not be ... Closed
Backwards Compatibility: Fully Compatible
Operating System: ALL
Sprint: Execution Team 2020-11-16
Participants:
Linked BF Score: 18

 Description   

SERVER-48882 made it so that when using directoryperdb, newly empty database directories will be removed. However, it is possible for WiredTigerKVEngine::dropIdent() to not actually drop the ident right away. If WiredTiger returns EBUSY, the ident drop will be queued to be dropped later. If this happens, the database directory will not be removed since the directory is not yet empty by the time the callback is run.

A solution is to make KVEngine::dropIdent() optionally take a callback that will be run once the ident is actually dropped.



 Comments   
Comment by Githook User [ 04/Nov/20 ]

Author:

{'name': 'Gregory Noma', 'email': 'gregory.noma@gmail.com', 'username': 'gregorynoma'}

Message: SERVER-51717 Run the DropIdentCallback from within the KVEngine
Branch: master
https://github.com/mongodb/mongo/commit/17855d1bf9a864ad2892c03f91cd156a42b052e3

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