Skip to content

khepri_mnesia_migration 0.6.0

Compare
Choose a tag to compare
@dumbbell dumbbell released this 05 Sep 09:27
· 15 commits to main since this release
v0.6.0
fc5cd44

At this point, khepri_mnesia_migration should be considered Alpha and not production ready. The API will likely evolve and future releases will likely introduce breaking changes. The goal of this release is to make it easy for anyone to try it and possibly give feedback.

What's new in khepri_mnesia_migration 0.6.0

Improved logging

If khepri_mnesia_migration could not setup the projection, it used to log a LOT and at the "warning" level on top of that. This was scary and spammy for no good reasons because the function works just fine even without the projection.

See #14.

Support for clustered nodes that lost their state

If a node loses its state, i.e. all Khepri and Mnesia data on disk, calling mnesia_to_khepri:sync_cluster_membership/1 wouldn’t repair the cluster before this patch.

At best, it would leave the nodes untouched, thus with all but one nodes that think the lost node is clustered, and the lost node that believes it is unclustered.

This scenario is now supported and the cluster will be correctly repaired.

See #16.

Other changes

  • Use khepri_cluster:is_store_running/1 instead of rolling our own poor copy (#15).
  • Khepri was bumped from 0.13.0 to 0.15.0 (#17).

Download

khepri_mnesia_migration 0.6.0 is available from Hex.pm: https://hex.pm/packages/khepri_mnesia_migration/0.6.0

Upgrade

Using Rebar:

  1. Update your rebar.config:

    %% In rebar.config
    {deps, [{khepri_mnesia_migration, "0.6.0"}]}.
  2. Run rebar3 upgrade khepri_mnesia_migration.

Using Erlang.mk:

  1. Update your Makefile:

    %% In your Makefile
    dep_khepri_mnesia_migration = hex 0.6.0
  2. Remove the deps/khepri_mnesia_migration directory. The new version will be fetched the next time you build your project.

Documentation

The documentation for khepri_mnesia_migration 0.6.0 is available on Hex.pm.