-
-
Notifications
You must be signed in to change notification settings - Fork 28
Add prefix bloom filter support #151
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
base: 3.0.0
Are you sure you want to change the base?
Conversation
@marvin-j97 just want to make sure, did you want me to address the linter failures? they seem to be related to existing code |
Linting seems to work now on the 3.0.0 branch, if you resolve the merge conflicts and pull, it should be fine. |
e27b31c
to
9d8b4f0
Compare
hmm:
|
That's just a warning though, right? I haven't really gotten to running clippy lints over the entire code base, so there are a lot of warnings as of now. |
going to take a closer look, also noticed some api's have changed so my tests are failing now, i'll fix that and test locally before pushing |
5c502c3
to
7f70eeb
Compare
ok it was my fault, it was hidden with the other clippy warnings |
cc303e0
to
8b995d4
Compare
9a4719b
to
5e53adb
Compare
41781cc
to
a1335f2
Compare
18921a8
to
768055f
Compare
768055f
to
323c0b3
Compare
7fca57b
to
f1381c0
Compare
f1381c0
to
b0a6bd8
Compare
1a9b4f4
to
b09d983
Compare
did i break the build and test lsm example build or some other isssue? |
The CI examples script does not support raw |
b09d983
to
c09ffa3
Compare
should be fixed now, thanks! |
/// Returns a unique name for this prefix extractor. | ||
fn name(&self) -> &str; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm thinking how to make use of this.
I guess this should be stored in each keyspace's config (in fjall) to check that the given prefix extractor matches the one that was initially configured.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
right, I may need to do more work but in rocksdb, if you want to change your prefix extractor then you need to use a different name which would cause rocksdb to ignore the old bloom that was used for the existing files
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Then maybe the prefix extractor name also needs to be stored in every table's properties.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've pushed a commit to do this and match rocksdb's behaviour:
"If prefix extractor changes when DB restarts, some SST files may contain prefix bloom filters generated using different prefix extractor than the one in current options. When opening those files, RocksDB will compare prefix extractor name stored in the properties of the SST files. If the name is different from the prefix extractor provided in the options, the prefix bloom filter is not used for this file"
one thing is how does fjall handle options that can be dynamically changeable vs can't be changed without a db restart? I don't think we would want a user to be able to change a prefix extractor on the fly
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Currently the configuration cannot be changed during runtime. However I don't think it would be a problem, because tables that use the old prefix extractor would continue using that, and otherwise the filter is skipped. But that's probably an edge case and just shouldn't be allowed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok cool, so then what I have here should be good.
resolve #97