When we write the hash, we do so by using:
snapshot_cache_path + / + catalyst-hash
But when we read it, we do so by:
snapshot_cache_path + catalyst-hash
If the path lacks a trailing /, then we never read the correct hash
file. The current helper returns -1 on missing file errors which is
compared against the existing hash. In essence, we always trigger a
cache miss.
Add the missing / to the read logic.
---
catalyst/base/stagebase.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/catalyst/base/stagebase.py b/catalyst/base/stagebase.py
index f81c51b..a2a8520 100644
--- a/catalyst/base/stagebase.py
+++ b/catalyst/base/stagebase.py
@@ -817,7 +817,7 @@ class StageBase(TargetBase, ClearBase, GenBase):
if "snapcache" in self.settings["options"]:
snapshot_cache_hash=\
read_from_clst(self.settings["snapshot_cache_path"]+\
- "catalyst-hash")
+ "/" + "catalyst-hash")
unpack_info['mode'] = self.decompressor.determine_mode(
unpack_info['source'])
--
2.5.2