[SERVER-56876] Test idempotency of resharding's oplog application with the resharding fuzzer Created: 12/May/21  Updated: 29/Oct/23  Resolved: 03/Jun/21

Status: Closed
Project: Core Server
Component/s: Sharding
Affects Version/s: None
Fix Version/s: 5.0.0-rc1, 5.1.0-rc0

Type: Task Priority: Major - P3
Reporter: Max Hirschhorn Assignee: Janna Golden
Resolution: Fixed Votes: 0
Labels: PM-234-M3, PM-234-T-fuzzer, post-rc0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Backwards Compatibility: Fully Compatible
Backport Requested:
v5.0
Sprint: Sharding 2021-06-14, Sharding 2021-05-31
Participants:
Story Points: 1

 Description   

Test cases in resharding_oplog_crud_application_test.cpp provide coverage of the idempotency for single operations. Before introducing various stepdown suites with the resharding fuzzer, it would be helpful to confirm there are no issues with idempotency of sequences of multiple operations. One thought is to add a failpoint which causes ReshardingOplogApplier::_applyBatch() to be called twice with the same batch. This failpoint should be enabled in a new resharding fuzzer task which runs with --numDonors 3 --numRecipients 3 --inPlace yes. For example:

- <<: *jstestfuzz_template
  name: resharding_fuzzer_idempotency_gen
  tags: ["resharding_fuzzer"]
  commands:
  - func: "generate fuzzer tasks"
    vars:
      <<: *jstestfuzz_config_vars
      num_files: 10
      num_tasks: 5
      npm_command: resharding-fuzzer
      jstestfuzz_vars: --numDonors 3 --numRecipients 3 --inPlace yes
      suite: resharding_fuzzer
      resmoke_args: --storageEngine=wiredTiger --mongodSetParameters='{"failpoint.reshardingApplyBatchTwice": {mode: "alwaysOn"}}'
      name: resharding_fuzzer_idempotency

Another option would be to have the failpoint enabled in the ReshardingTest fixture via a TestData parameter which is set in a new resharding_fuzzer_idempotency.yml test suite so engineers don't need to specify --mongodSetParameters to run the configuration locally.



 Comments   
Comment by Vivian Ge (Inactive) [ 06/Oct/21 ]

Updating the fixversion since branching activities occurred yesterday. This ticket will be in rc0 when it’s been triggered. For more active release information, please keep an eye on #server-release. Thank you!

Comment by Githook User [ 03/Jun/21 ]

Author:

{'name': 'jannaerin', 'email': 'golden.janna@gmail.com', 'username': 'jannaerin'}

Message: SERVER-56876 Test idempotency of resharding's oplog application with the resharding fuzzer

(cherry picked from commit f6d956678b35f7842c9a293b9d27c84c781184b8)
Branch: v5.0
https://github.com/mongodb/mongo/commit/63125de9e75a2ee6e090b218eda3289f406334df

Comment by Githook User [ 03/Jun/21 ]

Author:

{'name': 'jannaerin', 'email': 'golden.janna@gmail.com', 'username': 'jannaerin'}

Message: SERVER-56876 Test idempotency of resharding's oplog application with the resharding fuzzer
Branch: master
https://github.com/mongodb/mongo/commit/f6d956678b35f7842c9a293b9d27c84c781184b8

Generated at Thu Feb 08 05:40:26 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.