Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-31170

Add support for session and transaction number to benchRun

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 3.6.0-rc0
    • Affects Version/s: None
    • Component/s: Performance, Shell
    • Labels:
      None
    • Fully Compatible
    • Sharding 2017-10-02

      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.

            Assignee:
            kaloian.manassiev@mongodb.com Kaloian Manassiev
            Reporter:
            kaloian.manassiev@mongodb.com Kaloian Manassiev
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: