Uploaded image for project: 'WiredTiger'
  1. WiredTiger
  2. WT-8366

API to set transaction commit timestamp from numerical timestamp

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major - P3
    • Resolution: Done
    • None
    • 6.0.0-rc0, 5.0.9, 4.4.16
    • None
    • 8
    • Storage - Ra 2022-03-07, Storage - Ra 2022-03-21
    • v5.0, v4.4

    Description

      Profiling shows that in bulk insert workloads significant time, up to 40% of the time per insert, is spent constructing the config string "commit_timestamp=..." in WiredTigerRecoveryUnit::setTimestamp, and then parsing it in WT_SESSION::timestamp_transaction. As suggested in WT-4451 can we add an API specifically to set the transaction commit timestamp passed as a number, without having to parse a config string?

      I think this should be a simple change, at least at a POC level, which the performance team could then validate against our performance tests that show this issue.

      (Note that the POC done in WT-4451 does not seem like it fully tested this concept, because it still passed a config string to indicate which timestamp to set, so we still had the expense of parsing a config string).

      Attachments

        1. poc.diff
          5 kB
        2. Screen Shot 2022-02-16 at 8.44.52 AM.png
          Screen Shot 2022-02-16 at 8.44.52 AM.png
          130 kB
        3. Screen Shot 2022-04-04 at 12.35.47 PM.png
          Screen Shot 2022-04-04 at 12.35.47 PM.png
          168 kB

        Issue Links

          Activity

            People

              will.korteland@mongodb.com Will Korteland
              bruce.lucas@mongodb.com Bruce Lucas (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              26 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: