Skip to content

Conversation

deukyeon
Copy link

This PR is to add a new transactional_splinterdb into this benchmark.

  • In db.h, each operation takes Transaction.
  • DoTransaction() runs the given number of operations.
  • The number of operations per transaction is set by opspertransaction property.

Deukyeon Hwang and others added 3 commits August 10, 2022 14:44
- Each operation takes `Transaction`.
- `DoTransaction(Transaction *)` runs the given number of
operations. And the number of operations is set by the property,
`opspertransaction`.
- Each operation takes `Transaction`
- `DoTransaction(Transction *)` runs the given number of operations.
- The number of operations is set by `opspertransaction` property.
* Adding RocksDB's (Pessimistic)TransactionDB
* Adding RocksDB's OptimisticTransactionDB
@deukyeon
Copy link
Author

This PR was supposed to be used for only transactional_splinterdb, but it has RocksDB's TransactionDBs(pessimistic/optimistic) as well as transactional_splinterdb.

deukyeon and others added 13 commits September 2, 2022 18:15
The problem was that an aborted transaction gets new keys from a
generator. It should do with keys that it originally tried. Each
transaction stores operations and replays until it commits.
* Fixed the number of operations for each thread

* Added a sample workload spec for transactional databases

* Implemented more strict isolation for RocksDB Transaction

Based on the examples from the official RocksDB repo, this code
implements `Read committed with multiple snapshot`, which is stronger
than snapshot isolation/read committed without snapshot.

* Minor code updates to handle transaction conflict

* Added abort_cnt
* Fixed an error when non-transactional databases

* Minor fixes for RocksDB to get snapshots
* Implemented various isolation levels

This commit makes transactional splinterdb and rocksdb support various
isolation levels. The scripts, `run_rocksdb.sh` and
`run_splinterdb.sh`, will run ycsb benchs with varying parameters.

* fixed a bug when running without ops_per_transaction
This commit makes transactional splinterdb and rocksdb support various
isolation levels. The scripts, `run_rocksdb.sh` and
`run_splinterdb.sh`, will run ycsb benchs with varying parameters.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant