Yugabyte-db: [YEDIS] Keys CMD doesn't return existing Keys after compaction

Created on 10 Jan 2020  路  2Comments  路  Source: yugabyte/yugabyte-db

When running YugabyteDB with Yedis. We noticed keys "disappearing" after running Yugabyte over a longer period of time. When we dug into the issue, originally we thought that since the memstore_size_mb defaulted to 128 Mb, that if running over a long time, an auto job kicks off and compacts/deletes stale keys.
When using the keys * command keys would be missing.
When using the get command though the keys and their values were returned.

To reproduce this,

  1. Created some initial test keys that we knew should persist.
  2. We wrote a script that wrote 100 keys into the db and kept rewriting them in a loop.
  3. Stopped the script.
  4. Manually ran compaction in tserver - ./bin/yb-admin compact_table system_redis redis --master_addresses {pod-name}:7100
  5. Ran keys *, sometimes got no keys, sometimes got only some keys.
  6. Ran get {{KEY}}, got the correct test key and value.

Our environment is running a single replica of Yugabyte in kubernetes.
Yugabyte version: 2.0.1.0-b19

communitrequest kinbug

All 2 comments

Hi @dmosruby, thanks a lot for reporting the issue with a detailed description of repro steps. We were able to reproduce it in-house and already have a fix under code-review.

Thank you so much for getting to this so quickly @rahuldesirazu ! Looking forward to pulling down the next fixed release.

Was this page helpful?
0 / 5 - 0 ratings