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
Titan support write without WAL #81
Comments
How about delay adding old blob files to obsolete files until we can make sure all corresponding key has been presisted in SST file. Maybe we can use titan table builder and event listener to collect some useful information. |
@DorianZheng Long time no see! Yeah, we should probably do what you suggest. |
Seems the GC rewritten index suffers the same issue. The new blob index is still in memtable when db restart, then old blob index is exposed but the blob file is already deleted. How about just recording the sequence number after rewriting index, and mark the blob file as deleted until the newest sequence of the L0 file exceeds the sequence number. |
@yiwu-arbug Thanks for the kindness.
I think it works. Maybe we can listen the |
Sounds good. And do take care of restart. |
@DorianZheng Thanks. Though I think we can access rocksdb internals from Titan directly instead of adding new rocksdb API. |
@yiwu-arbug Good Idea, will file PR soon. |
Current GC implementation assume WAL is always enabled for both user writes and GC writes. However, if user disable WAL, it could lead to data inconsistency after GC.
Example:
We need to find a way to allow user write without WAL.
The text was updated successfully, but these errors were encountered: