question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Cache misses due to path-based versioning and its normalization

See original GitHub issue

This run using actions/cache@v2 shows how a cache created by the update-deps job is not hit by the jobs in the test matrix that depend on update-deps and use the same key. This works in actions/cache@v1, so it looks like a regression to me.

What’s more peculiar, each of the three test jobs reported to have successfully stored its cache state under this same key. In the next run, all jobs hit the cache, but which state did they get?

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Comments:17 (8 by maintainers)

github_iconTop GitHub Comments

1reaction
Phantsurecommented, Dec 7, 2022

@mzabaluev @y-nk We have released a new beta release which should fix this issue. Try tag: actions/cache@3.1.0-beta. Head over to discussion for feedback: https://github.com/actions/cache/discussions/1019

1reaction
mzabaluevcommented, Jun 2, 2020

The version hash includes the compression method, but we fall back to using Gzip instead of Zstd on Windows due to bug #301.

I hope in the end state it would be possible to share cache state no matter which runner created it, with the restore action being able to adapt to a possibly different archival format; or maybe this and other tar-related issues will be solved by settling on a single flavor of tar that works across all OSes. The disparate cache entries for Windows and Unix would increase our cache pressure twofold and duplicate the dependency fetching work for Windows jobs without a good reason for it.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Diagnosing Build Cache misses with Gradle Enterprise task ...
The most common issue related to normalization is the incorrect use of “absolute path” normalization, which is the default. This means that paths...
Read more >
Debugging and diagnosing cache misses - Gradle User Manual
The goal with clean builds and the build cache turned on is to retrieve all cacheable tasks from the cache. When running this...
Read more >
AndroidLintAnalysisTask has cache misses due to relative ...
The AndroidLintAnalysisTask should use RuntimeClasspath normalization for jar and aar inputs instead of Relative Path normalization.
Read more >
Normalized cache does not try to normalize internal objects if ...
I have found the Android Apollo client to behave differently than the iOS client. Making the normalized caching unusable.
Read more >
Migrating to Apollo Kotlin 3.0 - Apollo GraphQL Docs
If you were using logs to get information about cache hits/misses, ... Android 2.x computes its target package name based on a combination...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found