[SERVER-31170] Add support for session and transaction number to benchRun Created: 19/Sep/17  Updated: 30/Oct/23  Resolved: 27/Sep/17

Status: Closed
Project: Core Server
Component/s: Performance, Shell
Affects Version/s: None
Fix Version/s: 3.6.0-rc0

Type: Task Priority: Major - P3
Reporter: Kaloian Manassiev Assignee: Kaloian Manassiev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
Backwards Compatibility: Fully Compatible
Sprint: Sharding 2017-10-02
Participants:

 Description   

The benchRun utility is used by both mongo-perf and sys-perf. In order to test the performance of retryable writes we need to make benchRun use sessions and send transaction numbers.

In order to achieve this, benchRun will be extended with the following options:

  • useSessions (bool) - when this option is enabled, benchRun will call startSession for each connection that it creates and will add the returned session id along with every command that it sends to the server.
  • useIdempotentWrites (bool) - when this option is enabled, benchRun will keep an always-incrementing transaction number for each workload thread and will send that as a txnNumber.

Both these parameters may only be specified if useWriteCmd is true and will fail with a BadOptions error code otherwise.

NOTE: The combination of sessionId/txnNumber makes the write retryable, but this ticket will not add any functionality to benchRun to actually retry since this is a much more involved task.



 Comments   
Comment by Githook User [ 27/Sep/17 ]

Author:

{'email': 'kaloian.manassiev@mongodb.com', 'name': 'Kaloian Manassiev', 'username': 'kaloianm'}

Message: SERVER-31170 Add support for session and transaction number to benchRun
Branch: master
https://github.com/mongodb/mongo/commit/6bc284630b40fd90f6a8f1521d2d8c881e153a23

Comment by Githook User [ 22/Sep/17 ]

Author:

{'email': 'kaloian.manassiev@mongodb.com', 'name': 'Kaloian Manassiev', 'username': 'kaloianm'}

Message: SERVER-31170 Cleanup bench_run.cpp
Branch: master
https://github.com/mongodb/mongo/commit/5749a726b242af9f54834765fbf1c66eeed6dc3a

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