Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce Snapshot Isolation OCC to DBTransaction #19

Merged
merged 25 commits into from
Jun 30, 2022

Commits on Jun 1, 2022

  1. Configuration menu
    Copy the full SHA
    946a01e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a972390 View commit details
    Browse the repository at this point in the history

Commits on Jun 7, 2022

  1. Configuration menu
    Copy the full SHA
    e7229bf View commit details
    Browse the repository at this point in the history

Commits on Jun 10, 2022

  1. Configuration menu
    Copy the full SHA
    da767cc View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e42f01e View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    dc4db39 View commit details
    Browse the repository at this point in the history

Commits on Jun 19, 2022

  1. Configuration menu
    Copy the full SHA
    ba968b0 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f521ab0 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    92edd7f View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    7b55563 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    6862983 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    dd1cec1 View commit details
    Browse the repository at this point in the history
  7. First class snapshots

    * Applied snapshots to dbGet and dbMultiGet, changed dbGetMany to dbMultiGet
    * Snapshots work with transactionGet and transactionGetForUpdate
    * Testing repeatable read using snapshots
    * Turns out snapshot lifecycle is controlled by the transaction, so no manual release
    * Transactions now have their own priority work count
    * Testing dbClose will automatically close of snapshots, iterators and transactions
    CMCDragonkai committed Jun 19, 2022
    Configuration menu
    Copy the full SHA
    8e1135c View commit details
    Browse the repository at this point in the history
  8. Transactions support iterators and refactoring C++ object lifecycle

    * Enabled `NODE_DEBUG_NATIVE` runtime control of rocksdb logging
    * Testing transaction iterator
    CMCDragonkai committed Jun 19, 2022
    Configuration menu
    Copy the full SHA
    0dc0b96 View commit details
    Browse the repository at this point in the history
  9. GC finalizers may run after env_cleanup_hook, so Detach methods can

    be called when the detached target is already closed. So I've removed
    the precondition of `Detach+` methods and `DecrementPendingWork` from
    both `Database` and `Transaction` classes.
    CMCDragonkai committed Jun 19, 2022
    Configuration menu
    Copy the full SHA
    c909c02 View commit details
    Browse the repository at this point in the history
  10. Fix database->isClosing_ and Transaction::DecrementPendingWork should…

    … be checking for `pendingWork_ == 1`
    CMCDragonkai committed Jun 19, 2022
    Configuration menu
    Copy the full SHA
    04c5448 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    434ef4a View commit details
    Browse the repository at this point in the history
  12. Adding transactionClear

    CMCDragonkai committed Jun 19, 2022
    Configuration menu
    Copy the full SHA
    23d3405 View commit details
    Browse the repository at this point in the history
  13. Adding transactionMultiGet and transactionMultiGetForUpdate

    * Fixed missing promisify for `transactionClear`
    * Using `__func__` for log messages
    * Namespacing C++ iterator workers
    * Testing `transactionClear` with non-repeatable read
    CMCDragonkai committed Jun 19, 2022
    Configuration menu
    Copy the full SHA
    f9cecbc View commit details
    Browse the repository at this point in the history

Commits on Jun 26, 2022

  1. Configuration menu
    Copy the full SHA
    b8a6083 View commit details
    Browse the repository at this point in the history
  2. Added DBTransaction.getForUpdate to address write skew, and added tes…

    …t demonstrating race condition thrashing
    CMCDragonkai committed Jun 26, 2022
    Configuration menu
    Copy the full SHA
    58a62f2 View commit details
    Browse the repository at this point in the history

Commits on Jun 30, 2022

  1. Configuration menu
    Copy the full SHA
    a06ccdf View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    cb25e1f View commit details
    Browse the repository at this point in the history
  3. Updated docs

    CMCDragonkai committed Jun 30, 2022
    Configuration menu
    Copy the full SHA
    567526b View commit details
    Browse the repository at this point in the history
  4. Updated benchmarks

    CMCDragonkai committed Jun 30, 2022
    Configuration menu
    Copy the full SHA
    879c5e2 View commit details
    Browse the repository at this point in the history