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


Reply via email to