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

Support RocksDB transaction. #565

Merged
merged 51 commits into from Aug 5, 2022
Merged

Conversation

yiyuanliu
Copy link
Contributor

@yiyuanliu yiyuanliu commented Nov 9, 2021

We are building a project which uses RocksDB transaction. However, rust-rocksdb doesn't support transaction. PR #250 has not been updated in a long time and does not appear to be maintained.

This PR wants to provide support for transactions with minimal impact on existing code. I have finished wrapping RocksDB TransactionDB, and the basic functionality is tested. The next step is to provide support for Optimistic TransactionDB.

Related to: #529 #144

@yiyuanliu yiyuanliu changed the title [WIP]: Support RocksDB transaction. WIP: Support RocksDB transaction. Nov 9, 2021
src/write_batch.rs Outdated Show resolved Hide resolved
Copy link
Contributor

@ryoqun ryoqun left a comment

nice work after initial quick glance! it's been some time since i missed this functionality. thanks for contributing.

src/write_batch.rs Outdated Show resolved Hide resolved
src/txn/txn_db.rs Outdated Show resolved Hide resolved
src/txn/txn_db.rs Outdated Show resolved Hide resolved
@aleksuss aleksuss requested a review from stanislav-tkach Nov 10, 2021
@yiyuanliu yiyuanliu changed the title WIP: Support RocksDB transaction. Support RocksDB transaction. Nov 17, 2021
src/write_batch.rs Show resolved Hide resolved
@ryoqun
Copy link
Contributor

ryoqun commented Nov 29, 2021

wow great progress! i'll review this in depth later

merge two-phase commit implementation.
@aleksuss
Copy link
Member

aleksuss commented Apr 25, 2022

Resolve conflicts please.

librocksdb-sys/rocksdb-c.cc Outdated Show resolved Hide resolved
src/transactions/transaction.rs Show resolved Hide resolved
@aleksuss
Copy link
Member

aleksuss commented Jul 27, 2022

@yiyuanliu do you plan to finish this PR?

@yiyuanliu
Copy link
Contributor Author

yiyuanliu commented Jul 27, 2022

@yiyuanliu do you plan to finish this PR?

I will finish it, but it will take some time. Due to a job change, I've left the project I was working on when I built this PR. I'm sorry I haven't been able to find the time to work on this PR for a while.

aleksuss added 2 commits Jul 27, 2022
# Conflicts:
#	src/backup.rs
#	src/checkpoint.rs
#	src/db.rs
#	src/db_iterator.rs
Copy link
Contributor

@stanislav-tkach stanislav-tkach left a comment

Looking good to me, though I would admit, that I can spend more time checking the pull request if I have more time.

src/lib.rs Show resolved Hide resolved
src/lib.rs Show resolved Hide resolved
//

use crate::ffi;
use core::panic;
Copy link
Contributor

@stanislav-tkach stanislav-tkach Aug 4, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is the core::panic import needed?

Copy link
Member

@aleksuss aleksuss Aug 5, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll remove it later but for now, I merge it as is.

@aleksuss aleksuss merged commit 2257be1 into rust-rocksdb:master Aug 5, 2022
6 checks passed
vldm pushed a commit to velas/rust-rocksdb that referenced this pull request Sep 8, 2022
msmouse pushed a commit to aptos-labs/rust-rocksdb that referenced this pull request Sep 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet