Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BREAKING CHANGE: Replication factor #23

Closed
wants to merge 5 commits into from
Closed

Conversation

beardedeagle
Copy link
Owner

@beardedeagle beardedeagle commented Aug 8, 2019

Fixes/Addresses

#9 Replication Factor

Change proposed in this pull request

Added

  • Ability to specify how many copies of schema can exist, by type.
  • Ability to specify how many copies of a store can exist, per store by type.
  • Ability to blacklist Mnesia cluster nodes, per store.
  • init_schema/1, copy_schema/2, init_migration/1, rollback_migration/1, refresh_cluster/1, backup/1 overridable callbacks in Mnesiac.Store.
  • Structs for explicit config and store contracts.
  • Specs for explicit library contracts.
  • Escape hatch of sorts, which allows you to override the base Mnesiac configuration struct.
  • Mnesiac.validate_config/2 which can be used to validate the configuration being passed in to Mnesiac, possible to test override functions too.

Removed

  • Removed Mnesiac.StoreManager module.
  • Config directory. Configuration is now to be passed in directly.

Changed

  • resolve_conflict/1 -> resolve_conflict/2, now accepts configuration.
  • Standardized terminology in library.
  • Improved Travis CI jobs.
  • Bumped OTP and Elixir version.
  • Updated dependencies.

Fixed

  • More docs cleanup.

Check list

  • All new code is formatted.
  • All new code is documented.
  • All new code passed static analysis/linter checks.
  • Added tests to ensure coverage of new code.
  • All tests passed.

Additional info

#2 is still very much a issue that shows up in test, though the library is still usable

@beardedeagle beardedeagle self-assigned this Aug 8, 2019
@codecov
Copy link

codecov bot commented Aug 20, 2019

Codecov Report

❗ No coverage uploaded for pull request base (master@6d6106c). Click here to learn what that means.
The diff coverage is 85.5%.

Impacted file tree graph

@@            Coverage Diff            @@
##             master      #23   +/-   ##
=========================================
  Coverage          ?   83.33%           
=========================================
  Files             ?        3           
  Lines             ?       84           
  Branches          ?        0           
=========================================
  Hits              ?       70           
  Misses            ?       14           
  Partials          ?        0
Impacted Files Coverage Δ
lib/mnesiac/supervisor.ex 100% <100%> (ø)
lib/mnesiac/store.ex 61.53% <61.53%> (ø)
lib/mnesiac.ex 86.36% <90.74%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 6d6106c...a9bc3d4. Read the comment docs.

@beardedeagle
Copy link
Owner Author

Closing in favor of mnesiac/0.4.0

@beardedeagle beardedeagle deleted the replication_factor branch August 22, 2019 18:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant