Skip to content

Move/run away from tokyo cabinet #128

@domsj

Description

@domsj

See #110 and #122 for the motivation. Ops team sees this too much, and tokyo cabinet is unmaintained.
Currently it's an accident waiting to happen.
In the short term we still want to implement #122 so ops can monitor this more closely.

Possible replacement candidates:

  • rocksdb
    • could remove the need for head.db + collapsing could become cheap
    • db consists of multiple files, which would require some changes for catchup to handle this
  • lmdb
    • ocaml binding doesn't expose iterators / range queries
    • rest of the flow/code would remain the same

For both of these it should be possible to provide a way forward for existing clusters.
Either:

  • allow catchup of head.db in a database agnostic fashion (send key value pairs over the wire)
    • for each node: wipe it, let it catchup from the others
  • provide a method to export an old (head) db to the new database format
    • for each node: stop node, transform head db, remove main db, start node

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions