summaryrefslogtreecommitdiff
path: root/jstests/watchdog/wd_journal_hang.js
blob: e33931cf5dd8306e102d58230efea43ed06d7014 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
// Storage Node Watchdog - validate watchdog monitors --dbpath /journal
// @tags: [requires_wiredtiger,requires_journaling]
//
load("jstests/watchdog/lib/wd_test_common.js");

(function() {
'use strict';

function trimTrailingSlash(dir) {
    if (dir.endsWith('/')) {
        return dir.substring(0, dir.length - 1);
    }

    return dir;
}

let control = new CharybdefsControl("journalpath_hang");

const journalFusePath = control.getMountPath();

const dbPath = MongoRunner.toRealDir("$dataDir/mongod-journal");

const journalLinkPath = dbPath + "/journal";

resetDbpath(dbPath);

// Create a symlink from the non-fuse journal directory to the fuse mount.
const ret = run("ln", "-s", trimTrailingSlash(journalFusePath), journalLinkPath);
assert.eq(ret, 0);

// Set noCleanData so that the dbPath is not cleaned because we want to use the journal symlink.
testFuseAndMongoD(control, {dbpath: dbPath, noCleanData: true});
})();