27 lines
1.1 KiB
JavaScript
27 lines
1.1 KiB
JavaScript
// Provides methods for inspecting the in-memory and on-disk database caches on shard nodes.
|
|
|
|
function checkInMemoryDatabaseVersion(conn, dbName, expectedVersion) {
|
|
const res = conn.adminCommand({getDatabaseVersion: dbName});
|
|
assert.commandWorked(res);
|
|
assert.docEq(res.dbVersion,
|
|
expectedVersion,
|
|
conn + " did not have expected in-memory database version for " + dbName);
|
|
}
|
|
|
|
function checkOnDiskDatabaseVersion(conn, dbName, authoritativeEntry) {
|
|
const res = conn.getDB("config").runCommand({find: "cache.databases", filter: {_id: dbName}});
|
|
assert.commandWorked(res);
|
|
const cacheEntry = res.cursor.firstBatch[0];
|
|
|
|
if (authoritativeEntry === undefined) {
|
|
assert.eq(cacheEntry, undefined);
|
|
} else {
|
|
// Remove the 'enterCriticalSectionCounter' field, which is the only field the cache
|
|
// entry should have but the authoritative entry does not.
|
|
delete cacheEntry["enterCriticalSectionCounter"];
|
|
assert.docEq(cacheEntry,
|
|
authoritativeEntry,
|
|
conn + " did not have expected on-disk database version for " + dbName);
|
|
}
|
|
}
|