chore(deps): update rust crate moka to v0.12.16 #14

Open
renovate wants to merge 1 commit from renovate/moka-0.x-lockfile into main
Collaborator

This PR contains the following updates:

Package Type Update Change
moka dependencies patch 0.12.150.12.16

Release Notes

moka-rs/moka (moka)

v0.12.16

Compare Source

Fixed
  • Fixed a bug where cache eviction could stall permanently when the cache was
    configured with the non-default LRU eviction policy (EvictionPolicy::lru())
    by a race between insert and remove operations on the same key
    ([#​592][gh-pull-0592] by [@​kim-jhyeon][gh-kim-jhyeon], reported in
    [#​590][gh-issue-0590]):
    • This bug was introduced in v0.12.0 and affected sync::Cache,
      sync::SegmentedCache and future::Cache.
    • A race between applying a write recording for an entry and concurrently
      removing that entry from the internal concurrent hash table could leave an
      orphaned node at the front of the LRU queue. Once present, no entry was ever
      evicted again and the cache grew unboundedly past max_capacity.
    • The same race also affected the default TinyLFU eviction policy, but with
      a milder symptom: each occurrence permanently leaked one phantom entry
      slot, causing entry_count and weighted_size to over-report and the
      usable capacity to shrink by one entry per occurrence. Fixed by the same
      change.
Changed
  • Worked around a ThreadSanitizer false positive ([#​602][gh-pull-0602]):
    • Replaced the standalone fence(Acquire) in the internal MiniArc's drop
      path with an Acquire load of the reference count, so that downstream
      projects can now run ThreadSanitizer on code using Moka without hitting
      this false positive.
    • std::sync::Arc has a similar workaround.
  • Raised the minimum version of the crossbeam-epoch crate from v0.9.18 to
    v0.9.20 to avoid the following advisory ([#​603][gh-pull-0603]):
    • [RUSTSEC-2026-0204] crossbeam-epoch: invalid pointer dereference in
      fmt::Pointer for Atomic and Shared
    • Moka is not affected by this advisory because it never formats these
      pointer types. However, raising the minimum version prevents downstream
      lockfiles from resolving to an affected crossbeam-epoch version via
      Moka.

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate CLI.

This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [moka](https://github.com/moka-rs/moka) | dependencies | patch | `0.12.15` → `0.12.16` | --- ### Release Notes <details> <summary>moka-rs/moka (moka)</summary> ### [`v0.12.16`](https://github.com/moka-rs/moka/blob/HEAD/CHANGELOG.md#Version-01216) [Compare Source](https://github.com/moka-rs/moka/compare/v0.12.15...v0.12.16) ##### Fixed - Fixed a bug where cache eviction could stall permanently when the cache was configured with the **non-default** LRU eviction policy (`EvictionPolicy::lru()`) by a race between insert and remove operations on the same key (\[[#&#8203;592](https://github.com/moka-rs/moka/issues/592)]\[gh-pull-0592] by \[[@&#8203;kim-jhyeon](https://github.com/kim-jhyeon)]\[gh-kim-jhyeon], reported in \[[#&#8203;590](https://github.com/moka-rs/moka/issues/590)]\[gh-issue-0590]): - This bug was introduced in v0.12.0 and affected `sync::Cache`, `sync::SegmentedCache` and `future::Cache`. - A race between applying a write recording for an entry and concurrently removing that entry from the internal concurrent hash table could leave an orphaned node at the front of the LRU queue. Once present, no entry was ever evicted again and the cache grew unboundedly past `max_capacity`. - The same race also affected the default TinyLFU eviction policy, but with a milder symptom: each occurrence permanently leaked one phantom entry slot, causing `entry_count` and `weighted_size` to over-report and the usable capacity to shrink by one entry per occurrence. Fixed by the same change. ##### Changed - Worked around a ThreadSanitizer false positive (\[[#&#8203;602](https://github.com/moka-rs/moka/issues/602)]\[gh-pull-0602]): - Replaced the standalone `fence(Acquire)` in the internal `MiniArc`'s drop path with an `Acquire` load of the reference count, so that downstream projects can now run ThreadSanitizer on code using Moka without hitting this false positive. - `std::sync::Arc` has a similar workaround. - Raised the minimum version of the `crossbeam-epoch` crate from `v0.9.18` to `v0.9.20` to avoid the following advisory (\[[#&#8203;603](https://github.com/moka-rs/moka/issues/603)]\[gh-pull-0603]): - \[RUSTSEC-2026-0204] crossbeam-epoch: invalid pointer dereference in `fmt::Pointer` for `Atomic` and `Shared` - Moka is *not* affected by this advisory because it never formats these pointer types. However, raising the minimum version prevents downstream lockfiles from resolving to an affected `crossbeam-epoch` version via Moka. </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate CLI](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDQuMSIsInVwZGF0ZWRJblZlciI6IjQ0LjMwLjIiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbXX0=-->
chore(deps): update rust crate moka to v0.12.16
Some checks failed
moira/ci moira/ci — failed
moira/flake/packages.sh3rine@x86_64-linux packages.sh3rine — built
moira/flake/packages.default@x86_64-linux packages.default — built
moira/flake/packages.dockerImage@x86_64-linux packages.dockerImage — built
c083d6a264
Some checks failed
moira/ci moira/ci — failed
moira/flake/packages.sh3rine@x86_64-linux packages.sh3rine — built
moira/flake/packages.default@x86_64-linux packages.default — built
moira/flake/packages.dockerImage@x86_64-linux packages.dockerImage — built
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin renovate/moka-0.x-lockfile:renovate/moka-0.x-lockfile
git switch renovate/moka-0.x-lockfile

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff renovate/moka-0.x-lockfile
git switch renovate/moka-0.x-lockfile
git rebase main
git switch main
git merge --ff-only renovate/moka-0.x-lockfile
git switch renovate/moka-0.x-lockfile
git rebase main
git switch main
git merge --no-ff renovate/moka-0.x-lockfile
git switch main
git merge --squash renovate/moka-0.x-lockfile
git switch main
git merge --ff-only renovate/moka-0.x-lockfile
git switch main
git merge renovate/moka-0.x-lockfile
git push origin main
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
jmarya/sh3rine!14
No description provided.