1
1
Fork 0
mirror of https://github.com/NixOS/nix.git synced 2025-11-09 03:56:01 +01:00

RemoteStore::addToStoreFromDump(): Invalidate cache entry for added path

This commit is contained in:
Eelco Dolstra 2025-08-10 21:40:03 +02:00
parent c82b67fa05
commit f51779ee25
3 changed files with 10 additions and 1 deletions

View file

@ -311,6 +311,8 @@ protected:
LRUCache<std::string, PathInfoCacheValue> pathInfoCache;
};
void invalidatePathInfoCacheFor(const StorePath & path);
SharedSync<State> state;
std::shared_ptr<NarInfoDiskCache> diskCache;

View file

@ -457,7 +457,9 @@ StorePath RemoteStore::addToStoreFromDump(
}
if (fsm != dumpMethod)
unsupported("RemoteStore::addToStoreFromDump doesn't support this `dumpMethod` `hashMethod` combination");
return addCAToStore(dump, name, hashMethod, hashAlgo, references, repair)->path;
auto storePath = addCAToStore(dump, name, hashMethod, hashAlgo, references, repair)->path;
invalidatePathInfoCacheFor(storePath);
return storePath;
}
void RemoteStore::addToStore(const ValidPathInfo & info, Source & source, RepairFlag repair, CheckSigsFlag checkSigs)

View file

@ -319,6 +319,11 @@ bool Store::PathInfoCacheValue::isKnownNow()
return std::chrono::steady_clock::now() < time_point + ttl;
}
void Store::invalidatePathInfoCacheFor(const StorePath & path)
{
state.lock()->pathInfoCache.erase(path.to_string());
}
std::map<std::string, std::optional<StorePath>> Store::queryStaticPartialDerivationOutputMap(const StorePath & path)
{
std::map<std::string, std::optional<StorePath>> outputs;