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

[BUG] Flash CF option level_compaction_dynamic_level_bytes is reset to default after "flushall" #717

Closed
karthyuom opened this issue Sep 25, 2023 · 0 comments

Comments

@karthyuom
Copy link
Contributor

Describe the bug
There is a bug where the rocksdb column family (CF) option level_compaction_dynamic_level_bytes, which is set to true inside the keydb code, has been reset back to the default false after the "flushall" command is executed.

To reproduce

  1. Start the keydb server with "flash" enabled
    keydb.conf:

    port 9000
    databases 1
    storage-provider flash /opt/redis/data
    
  2. Populate data from keydb-cli

    127.0.0.1:9000> set k1 v1
    OK

  3. Check the column family option for the column family name "CF 0" in OPTIONS-* file which presents under the flash folder specified above, and the result will look something like this:

    [CFOptions "0"]
    ...
    level_compaction_dynamic_level_bytes=true
    inplace_update_support=false
    table_factory=BlockBasedTable
    
  4. Execute the "flushall" command from keydb-cli

    127.0.0.1:9000> FLUSHALL
    OK

  5. Repeat the step 3, and the result will look something like this:

    [CFOptions "0"]
    ...
    level_compaction_dynamic_level_bytes=false
    inplace_update_support=false
    table_factory=BlockBasedTable
    

Expected behavior

The modified column family options should be applied correctly even after the "flushall".

Additional information

N/A

@paulmchen @hengku @yzhao244

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants