Navigation

db.fsyncUnlock()

Definition

db.fsyncUnlock()

Reduces the lock taken by db.fsyncLock() on a mongod instance by 1.

Important

The db.fsyncLock() and db.fsyncUnlock() operations maintain a lock count. db.fsyncLock() increments the lock count, and db.fsyncUnlock() decrements the lock count.

To unlock a mongod instance for writes, the lock count must be zero. That is, for a given number of db.fsyncLock() operations, you must issue a corresponding number of db.fsyncUnlock() operations to unlock the instance for writes.

db.fsyncUnlock() is an administrative operation. Typically you will use db.fsyncUnlock() following a database backup operation.

db.fsyncUnlock() has the syntax:

db.fsyncUnlock()

The operation returns a document with the following fields:

info Information on the status of the operation.
lockCount (New in version 3.4) The number of locks remaining on the instance after the operation.
ok The status code.

The db.fsyncUnlock() method wraps the fsyncUnlock command.

Compatibility with WiredTiger

Changed in version MongoDB: 3.2

db.fsyncLock() ensures that the data files are safe to copy using low-level backup utilities such as cp, scp, or tar. A mongod started using the copied files contains user-written data that is indistinguishable from the user-written data on the locked mongod.

Prior to MongoDB 3.2, db.fsyncLock() cannot guarantee that WiredTiger data files are safe to copy using low-level backup utilities.

The data files of a locked mongod may change due to operations such as journaling syncs or WiredTiger snapshots. While this has no affect on the logical data (e.g. data accessed by clients), some backup utilities may detect these changes and emit warnings or fail with errors. For more information on MongoDB- recommended backup utilities and procedures, see MongoDB Backup Methods.

Example

Consider a situation where db.fsyncLock() has been issued two times. The following db.fsyncUnlock() operation reduces the locks taken by db.fsyncLock() by 1:

db.fsyncUnlock()

The operation returns the following document:

{ "info" : "fsyncUnlock completed", "lockCount" : NumberLong(1), "ok" : 1 }

As the lockCount is greater than 0, the mongod instance is locked against writes. To unlock the instance for writes, run db.fsyncLock() again:

db.fsyncUnlock()

The operation returns the following document:

{ "info" : "fsyncUnlock completed", "lockCount" : NumberLong(0), "ok" : 1 }

The mongod instance is unlocked for writes.