-
Notifications
You must be signed in to change notification settings - Fork 12
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
Writer fencing deviates from the FizzBee spec in the Go implementation #60
Comments
Some observations: Rust implementation, test code in the following repository // Just open and close the DB without writing any key
// Open, Put, Get and Delete a single key, and then close the DB
|
Go implementation, test code in the following repository // Just open and close the DB without writing any key
// Open, Put, Get and Delete a single key, and then close the DB
|
Thanks for checking. In the FizzBee model for writer fencing , there if only one manifest file, where as in the implementation they create 3 manifest files. Do you know what are the contents of the other 2 files? |
The final struct stored in manifest is this type ManifestV1T struct {
ManifestId uint64
WriterEpoch uint64
CompactorEpoch uint64
WalIdLastCompacted uint64
WalIdLastSeen uint64
L0LastCompacted *CompactedSstIdT
L0 []*CompactedSsTableT
Compacted []*SortedRunT
Snapshots []*SnapshotT
} in this document: its mentioned:
on DB startup DB thread creates - manifest01 |
I am setting up model based testing for the WIP WriterFencing spec in the SlateDB Go implementation.
I see that the spec and the implementation significantly deviates from each other.
With a single writer
slatedb.Open
is called, I see 3 manifest files created in the S3 bucket. there are no WAL files created.But as per the spec, when a Writer is opened, there should be a single WAL file and a single manifest file.
Please let me know if the writer fencing has been implemented. Also, are these 3 manifest files expected? If so, is there a way to filter/map these 3 objects to the 1 manifest sst object as expected in the design.
The text was updated successfully, but these errors were encountered: