CARVIEW |
Navigation Menu
-
Notifications
You must be signed in to change notification settings - Fork 0
Releases: rabbitmq/khepri_mnesia_migration
khepri_mnesia_migration 0.8.0
629aadf
Compare
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.8.0
Khepri was bumped from 0.16.0 to 0.17.1.
See #29.
Download
khepri_mnesia_migration
0.8.0 is available from Hex.pm: https://hex.pm/packages/khepri_mnesia_migration/0.8.0
Upgrade
Using Rebar:
-
Update your
rebar.config
:%% In rebar.config {deps, [{khepri_mnesia_migration, "0.8.0"}]}.
-
Run
rebar3 upgrade khepri_mnesia_migration
.
Using Erlang.mk:
-
Update your
Makefile
:%% In your Makefile dep_khepri_mnesia_migration = hex 0.8.0
-
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.8.0 is available on Hex.pm.
Assets 2
khepri_mnesia_migration 0.7.2
43f2934
Compare
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.7.2
Improve cluster sync with a mix of Khepri versions
If one of the node/cluster uses a lower Khepri machine version as other nodes/clusters, it could join a node/cluster running a newer version but it won’t be able to apply any command. This would render that node kind of useless. With this patch release, khepri_mnesia_migration takes the various Khepri machine versions into account to make sure that newer Khepri nodes will join the oldest one, not the opposite.
See #30.
Other changes
Download
khepri_mnesia_migration
0.7.2 is available from Hex.pm: https://hex.pm/packages/khepri_mnesia_migration/0.7.2
Upgrade
Using Rebar:
-
Update your
rebar.config
:%% In rebar.config {deps, [{khepri_mnesia_migration, "0.7.2"}]}.
-
Run
rebar3 upgrade khepri_mnesia_migration
.
Using Erlang.mk:
-
Update your
Makefile
:%% In your Makefile dep_khepri_mnesia_migration = hex 0.7.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.7.2 is available on Hex.pm.
Assets 2
khepri_mnesia_migration 0.7.1
ab6755c
Compare
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.7.1
This release ships a single bugfix: it strengthens the conditions required to repair a cluster after a node lost all its data. This avoids "false positive" where a node is added back to a cluster after a genuine removal.
See #24.
Download
khepri_mnesia_migration
0.7.1 is available from Hex.pm: https://hex.pm/packages/khepri_mnesia_migration/0.7.1
Upgrade
Using Rebar:
-
Update your
rebar.config
:%% In rebar.config {deps, [{khepri_mnesia_migration, "0.7.1"}]}.
-
Run
rebar3 upgrade khepri_mnesia_migration
.
Using Erlang.mk:
-
Update your
Makefile
:%% In your Makefile dep_khepri_mnesia_migration = hex 0.7.1
-
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.7.1 is available on Hex.pm.
Assets 2
khepri_mnesia_migration 0.7.0
515a401
Compare
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.7.0
Improved resilience for nodes who lost all data
If one or more nodes lose their disk, this is how to recover the cluster. This is based on some heuristic so not 100% guarantied. See #18.
Unfortunately, an issue was discovered during testing. Existing improvements were left in place but the testcases were disabled until a proper bug fix is committed in a future release. See #23.
Handle "delete" events from Mnesia checkpoint
Under load in RabbitMQ, we discovered that khepri_mnesia_migration could get the "delete" events from Mnesia checkpoint. This is now handled correctly.
See #21.
Manage concurrent calls to setup_projection()
Before the projection is configured, concurrent calls to handle_fallback()
would slow down the Erlang node and would spam the logs. This is now fixed.
See #19.
Other changes
- Improve logging during cleanup, to make it less scary (#20).
- Khepri was bumped from 0.15.0 to 0.16.0 (#22).
Download
khepri_mnesia_migration
0.7.0 is available from Hex.pm: https://hex.pm/packages/khepri_mnesia_migration/0.7.0
Upgrade
Using Rebar:
-
Update your
rebar.config
:%% In rebar.config {deps, [{khepri_mnesia_migration, "0.7.0"}]}.
-
Run
rebar3 upgrade khepri_mnesia_migration
.
Using Erlang.mk:
-
Update your
Makefile
:%% In your Makefile dep_khepri_mnesia_migration = hex 0.7.0
-
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.7.0 is available on Hex.pm.
Assets 2
khepri_mnesia_migration 0.6.0
fc5cd44
Compare
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:
-
Update your
rebar.config
:%% In rebar.config {deps, [{khepri_mnesia_migration, "0.6.0"}]}.
-
Run
rebar3 upgrade khepri_mnesia_migration
.
Using Erlang.mk:
-
Update your
Makefile
:%% In your Makefile dep_khepri_mnesia_migration = hex 0.6.0
-
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.
Assets 2
khepri_mnesia_migration 0.5.0
a91c8c3
Compare
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.5.0
- Khepri was bumped from 0.12.0 to 0.13.0 (#13).
- Handle the case where the projection was initialized concurrently during a Mnesia->Khepri table copy (#12).
Download
khepri_mnesia_migration
0.5.0 is available from Hex.pm: https://hex.pm/packages/khepri_mnesia_migration/0.5.0
Upgrade
Using Rebar:
-
Update your
rebar.config
:%% In rebar.config {deps, [{khepri_mnesia_migration, "0.5.0"}]}.
-
Run
rebar3 upgrade khepri_mnesia_migration
.
Using Erlang.mk:
-
Update your
Makefile
:%% In your Makefile dep_khepri_mnesia_migration = hex 0.5.0
-
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.5.0 is available on Hex.pm.
Assets 2
khepri_mnesia_migration 0.4.0
95c27d0
Compare
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.4.0
Khepri was bumped from 0.11.0 to 0.12.0 (#11).
Download
khepri_mnesia_migration
0.4.0 is available from Hex.pm: https://hex.pm/packages/khepri_mnesia_migration/0.4.0
Upgrade
Using Rebar:
-
Update your
rebar.config
:%% In rebar.config {deps, [{khepri_mnesia_migration, "0.4.0"}]}.
-
Run
rebar3 upgrade khepri_mnesia_migration
.
Using Erlang.mk:
-
Update your
Makefile
:%% In your Makefile dep_khepri_mnesia_migration = hex 0.4.0
-
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.4.0 is available on Hex.pm.
Assets 2
khepri_mnesia_migration 0.3.0
9ac5d7b
Compare
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.3.0
Khepri was bumped from 0.8.0 to 0.11.0 (#10).
Download
khepri_mnesia_migration
0.3.0 is available from Hex.pm: https://hex.pm/packages/khepri_mnesia_migration/0.3.0
Upgrade
Using Rebar:
-
Update your
rebar.config
:%% In rebar.config {deps, [{khepri_mnesia_migration, "0.3.0"}]}.
-
Run
rebar3 upgrade khepri_mnesia_migration
.
Using Erlang.mk:
-
Update your
Makefile
:%% In your Makefile dep_khepri_mnesia_migration = hex 0.3.0
-
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.3.0 is available on Hex.pm.
Assets 2
khepri_mnesia_migration 0.2.1
56d7d12
Compare
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.2.1
This release contains mostly bug fixes and internal improvements, following
more extensive testing in RabbitMQ.
is_migration_finished/{1,2}
returns a meaningful return value even if the Khepri store is stopped (#4).rollback/2
waits for the Khepri projection to be updated before returning (#5). This makes sureis_migration_finished/2
will return false immediately after a rollback.- Correctly handle a
no_exists
abort reason returned by the Mnesia function inmnesia_to_khepri:handle_fallback/4
(#6). - Protect against infinite loop in
mnesia_to_khepri:handle_fallback/4
(#7). - Check record validity before running the
mnesia_to_khepri
callback module'scopy_to_khepri/3
function (#8).
Download
khepri_mnesia_migration
0.2.1 is available from Hex.pm: https://hex.pm/packages/khepri_mnesia_migration/0.2.1
Upgrade
Using Rebar:
-
Update your
rebar.config
:%% In rebar.config {deps, [{khepri_mnesia_migration, "0.2.1"}]}.
-
Run
rebar3 upgrade khepri_mnesia_migration
.
Using Erlang.mk:
-
Update your
Makefile
:%% In your Makefile dep_khepri_mnesia_migration = hex 0.2.1
-
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.2.1 is available on Hex.pm.
Assets 2
khepri_mnesia_migration 0.2.0
bca1adb
Compare
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.2.0
- Always call the callback module from the same process (#2).
- Speed up
is_migration_finished/{1,2}
(#3).
Download
khepri_mnesia_migration
0.2.0 is available from Hex.pm: https://hex.pm/packages/khepri_mnesia_migration/0.2.0
Upgrade
Using Rebar:
-
Update your
rebar.config
:%% In rebar.config {deps, [{khepri_mnesia_migration, "0.2.0"}]}.
-
Run
rebar3 upgrade khepri_mnesia_migration
.
Using Erlang.mk:
-
Update your
Makefile
:%% In your Makefile dep_khepri_mnesia_migration = hex 0.2.0
-
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.2.0 is available on Hex.pm.