Files
mongo/jstests/replsets/initial_sync_read_concern_no_oplog.js
2023-08-06 20:48:04 +00:00

27 lines
844 B
JavaScript

// Test that if an afterClusterTime query is issued to a node in initial sync that has not yet
// created its oplog, the node returns an error rather than crashing.
import {configureFailPoint} from "jstests/libs/fail_point_util.js";
const replSet = new ReplSetTest({nodes: 1});
replSet.startSet();
replSet.initiate();
const primary = replSet.getPrimary();
const secondary = replSet.add({rsConfig: {votes: 0, priority: 0}});
const failPoint = configureFailPoint(secondary, 'initialSyncHangBeforeCreatingOplog');
replSet.reInitiate();
failPoint.wait();
assert.commandFailedWithCode(
secondary.getDB('local').runCommand(
{find: 'coll', limit: 1, readConcern: {afterClusterTime: Timestamp(1, 1)}}),
ErrorCodes.NotYetInitialized);
failPoint.off();
replSet.awaitReplication();
replSet.awaitSecondaryNodes();
replSet.stopSet();