Skip to content

Offline exporters (eloqkv2rdb / eloqkv2aof) silently exclude custom-namespace data #495

Description

@liunyl

Summary

Both offline export tools enumerate only the per-database data tables and never visit the namespace shared table, so all data belonging to custom namespaces is silently missing from exports.

Details

  • src/tools/eloqkv2rdb/eloqkv2rdb.cpp:1434 — table discovery filters on the prefix "eloqkv_data_table_".
  • src/tools/eloqkv2aof/eloqkv2aof.cpp:489 — builds column-family names data_table_0..N only.

Custom-namespace keys live in the shared ns_data_0 table (kv name eloqkv_ns_data_0, see docs/05-namespaces.md), which matches neither filter. No warning is emitted.

Impact

Migration/backup via these tools loses every non-default-namespace key without any indication. (Online DUMP/RESTORE are namespace-aware and unaffected.)

Suggested fix

Either include eloqkv_ns_data_0 (mapping prefixed keys back to namespaces, or exporting per namespace via a --namespace flag), or at minimum detect its presence and fail/warn loudly.


Found during the module-docs review (#492); see docs/07-persistence-and-tools.md Gotchas.

🤖 Found with Claude Code

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions