-
Notifications
You must be signed in to change notification settings - Fork 469
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
Refactor the management of rocksdb ColumnFamily #2279
Comments
For setting the For example, the command of More example: config set rocksdb.write_buffer_size ALL num
# equivalent to `config set rocksdb.write_buffer_size num`
# settings the buff_size for all of column families
config set rocksdb.write_buffer_size MAJOR num
# for major colunm families include metadata and default
config set rocksdb.write_buffer_size MINOR num
# for minor colunm families except for metadata and default
config set rocksdb.write_buffer_size [metadate | default | zset | pubsub | ... ] num
# for specify column family |
I'm trying to add a code-level refactor on this but I'm feel sick these days, maybe I'll update in coming few days @jjz921024 these style of config here ( #2279 (comment) ) can separate as configs and would be nice for user |
That's a good idea. However, here are two things that need to be considered:
|
About the naming of column family: AS IS:
TO BE:
|
Also, we should have a better abstraction of the management of column families. Currently it's too hard to maintain, and these adhoc logic about column families is written randomly in everywhere. |
Agreed, adding the new column family also will break the forward compatibility, we also need to address them while releasing. |
Search before asking
Motivation
Currently, kvrocks has multiple Column Families, and some configs are written ad-hoc. So, some issues below would be tricky:
Now I think we need a class for owning the kvrocks cf configs.
Solution
A unified CF manager
Are you willing to submit a PR?
The text was updated successfully, but these errors were encountered: