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

Move unsync and experimental dash caches to a new crate called mini-moka #200

Merged
merged 5 commits into from Nov 9, 2022

Conversation

tatsuya6502
Copy link
Member

@tatsuya6502 tatsuya6502 commented Nov 9, 2022

This PR marks unsync cache deprecated and completely removes experimental dash cache from moka crate. They have been moved to a new crate called mini-moka.

diff

Reasons

dash cache

  • An experimental dash cache was added to moka at v0.8.0.
  • dash cache has a smaller but duplicate feature set to sync cache.
    • Now the issue was resolved, there are not many reasons to keep dash cache in moka crate.
  • However, there are some users who are happy with dash cash as it provides a smaller but enough feature set for their use cases.
    • So instead of removing dash cache, it would be nice if we move it to a new crate mini-moka that will provide simpler and lighter cache implementations.

unsync cache

  • unsync cache seems not popular and has a smaller feature set to sync and future cache.
    • If we move dash cache to mini-moka, it would make sense to move unsync cache to mini-moka too.

Why removing dash cache right now from moka while keeping unsync cache as deprecated?

  • dash cache shares some base modules with sync and future caches.

    • Since dash provides different (smaller) feature set than others, it is becoming difficult to maintain the base modules.
    • So removing it now will make the maintenance and development woks much easier.
  • If moka user enables dash feature, it will fail to compile and show a message to introduce mini-moka crate.

  • On the other hand, unsync cache shares very little part of the base modules with other caches.

    • It is not making maintenance problems now.
  • Also, unsync cache is always enabled, and there is no crate feature like dash for it.

    • Thus, there is no way to show the message to introduce mini-moka crate if we completely remove it from moka.
    • So for now, we only mark it deprecated, and make the deprecation warning to introduce mini-moka crate.
    • We will remove unsync cache later at v0.11.0.

They have been moved to mini-moka crate and become `mini_moka::sync` and
`mini_moka::unsync` modules respectively.
- Update the lints CI to avoid a compile error by not enabling `dash` feature.
- Suppress deprecation warnings in the `pub use` statements in `unsync` module.
@tatsuya6502 tatsuya6502 added this to the v0.10.0 milestone Nov 9, 2022
@tatsuya6502 tatsuya6502 marked this pull request as ready for review November 9, 2022 11:08
Copy link
Member Author

@tatsuya6502 tatsuya6502 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Merging.

@tatsuya6502 tatsuya6502 merged commit 6d972e4 into master Nov 9, 2022
@tatsuya6502 tatsuya6502 deleted the move-out-dash-cache branch November 9, 2022 11:43
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.

None yet

1 participant