Create a cpp test for prepared updates

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Test CPPsuite
    • 36,251.94
    • None
    • 13

      Summary
      Create a new test in which prepared updates are written concurrently to stress the cache and trigger eviction which will force the uncommitted prepared updates to be written to disk. The test will then call rollback for those prepared updates and make sure nothing remains on disk. If possible, we could also only commit a percentage of the prepared transactions.

      Motivation

      • Does this affect any team outside of WT?
        It could if things don't work as expected.
      • If the problem does occur, what are the consequences and how severe are they?
        Data corruption.
      • Is this issue urgent?
        It is urgent to make sure the code around prepared transactions is correct.

      Acceptance Criteria (Definition of Done)
      A new test has been added to the cpp suite.

      • Documentation update
        None
      • Suggested Solution
        • Create a new cpp test using test/cppsuite/create_test.sh.
        • Configure a small cache size in the test configuration file.
        • Override the insert_operation function which will create prepared transactions that are too big for the cache.
        • Roll back those transactions once they have been evicted (this is the tricky part we need to find a way to know when they have been evicted)

            Assignee:
            [DO NOT USE] Backlog - Storage Engines Team
            Reporter:
            Etienne Petrel
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: