1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2025-06-30 11:43:15 +02:00

Make the TTL for disk cache configurable, we can now completely disable

disk cache lookup for example by doing:
  nix copy --from <binary-cahe> <store-path> --option \
  positive-disk-cache-ttl 0

Issues: #1885 #2035
This commit is contained in:
AmineChikhaoui 2018-04-02 12:45:18 +01:00
parent 27e9ce0eb2
commit 2855c3d965
No known key found for this signature in database
GPG key ID: C0C8C84C15BCCD1C
2 changed files with 11 additions and 8 deletions

View file

@ -1,6 +1,7 @@
#include "nar-info-disk-cache.hh"
#include "sync.hh"
#include "sqlite.hh"
#include "globals.hh"
#include <sqlite3.h>
@ -47,10 +48,6 @@ class NarInfoDiskCacheImpl : public NarInfoDiskCache
{
public:
/* How long negative and positive lookups are valid. */
const int ttlNegative = 3600;
const int ttlPositive = 30 * 24 * 3600;
/* How often to purge expired entries from the cache. */
const int purgeInterval = 24 * 3600;
@ -116,8 +113,8 @@ public:
SQLiteStmt(state->db,
"delete from NARs where ((present = 0 and timestamp < ?) or (present = 1 and timestamp < ?))")
.use()
(now - ttlNegative)
(now - ttlPositive)
(now - settings.ttlNegativeDiskCache)
(now - settings.ttlPositiveDiskCache)
.exec();
debug("deleted %d entries from the NAR info disk cache", sqlite3_changes(state->db));
@ -186,8 +183,8 @@ public:
auto queryNAR(state->queryNAR.use()
(cache.id)
(hashPart)
(now - ttlNegative)
(now - ttlPositive));
(now - settings.ttlNegativeDiskCache)
(now - settings.ttlPositiveDiskCache));
if (!queryNAR.next())
return {oUnknown, 0};