Skip to content

TOOLS-4263 Convert mongorestore oplog-replay edge-case tests to Go - #1048

Closed
autarch wants to merge 1 commit into
graphite-base/1048from
07-17-tools-4263_convert_mongorestore_oplog-replay_edge-case_tests_to_go
Closed

TOOLS-4263 Convert mongorestore oplog-replay edge-case tests to Go#1048
autarch wants to merge 1 commit into
graphite-base/1048from
07-17-tools-4263_convert_mongorestore_oplog-replay_edge-case_tests_to_go

Conversation

@autarch

@autarch autarch commented Jul 17, 2026

Copy link
Copy Markdown
Collaborator

The JS -> Go mapping (all under test/qa-tests/jstests/restore):

  • oplog_replay_conflict.js -> TestOplogReplayConflict
    (an embedded oplog plus --oplogFile must fail and apply no data)
  • oplog_replay_priority_oplog.js -> TestOplogReplayPriorityOplog
    (only the higher-priority --oplogFile entries are applied)
  • oplog_replay_noop.js -> TestOplogReplayNoop
    (noop entries are skipped, inserts applied)
  • preserve_oplog_structure_order.js -> TestOplogReplayPreservesComplexIDOrder
    (an update op with a multi-field subdocument _id preserves field
    order; the doc is pre-inserted on 8.1+ per SERVER-88158)
  • oplog_replay_size_safety.js -> TestOplogReplaySizeSafety
    (reduced matrix: 50k small ops + 8 ~1MB ops; the JS swept up to a
    million ops)

This also moves some fixtures under mongorestore/testdata. Move fixtures dump_oplog_conflict, dump_local_oplog, dump_with_noop_in_oplog, dump_with_complex_id_oplog, and extra_oplog.bson into mongorestore/testdata/.

The oplog_replay_local_rs.js and dumprestore7.js tests are not included in this conversion; they require a replica-set topology and will be converted separately.

autarch commented Jul 17, 2026

Copy link
Copy Markdown
Collaborator Author

Warning

This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

This stack of pull requests is managed by Graphite. Learn more about stacking.

@autarch
autarch force-pushed the 07-16-tools-4263_convert_mongorestore_invalid-input_tests_to_go branch from ef8ebd0 to 0cea3b8 Compare July 23, 2026 13:44
@autarch
autarch force-pushed the 07-17-tools-4263_convert_mongorestore_oplog-replay_edge-case_tests_to_go branch from ad5b9e5 to 6e72aea Compare July 23, 2026 13:44
@autarch
autarch force-pushed the 07-17-tools-4263_convert_mongorestore_oplog-replay_edge-case_tests_to_go branch from 6e72aea to 60200d1 Compare July 23, 2026 18:19
The JS -> Go mapping (all under `test/qa-tests/jstests/restore`):

- oplog_replay_conflict.js         -> TestOplogReplayConflict
    (an embedded oplog plus --oplogFile must fail and apply no data)
- oplog_replay_priority_oplog.js   -> TestOplogReplayPriorityOplog
    (only the higher-priority --oplogFile entries are applied)
- oplog_replay_noop.js             -> TestOplogReplayNoop
    (noop entries are skipped, inserts applied)
- preserve_oplog_structure_order.js -> TestOplogReplayPreservesComplexIDOrder
    (an update op with a multi-field subdocument _id preserves field
    order; the doc is pre-inserted on 8.1+ per SERVER-88158)
- oplog_replay_size_safety.js      -> TestOplogReplaySizeSafety
    (reduced matrix: 50k small ops + 8 ~1MB ops; the JS swept up to a
    million ops)

This also moves some fixtures under `mongorestore/testdata`. Move fixtures dump_oplog_conflict, dump_local_oplog, dump_with_noop_in_oplog, dump_with_complex_id_oplog, and extra_oplog.bson into mongorestore/testdata/.

The `oplog_replay_local_rs.js` and `dumprestore7.js` tests are not included in this conversion; they require a replica-set topology and will be converted separately.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant