From e58da7bb7c1800ffd4f24cf77c2e3f3cdfcdf906 Mon Sep 17 00:00:00 2001 From: Antoine Pelisse Date: Mon, 14 Aug 2017 15:09:37 -0700 Subject: [PATCH] c-go cache: Use diskv TempDir to get atomic write --- staging/src/k8s.io/client-go/transport/round_trippers.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/staging/src/k8s.io/client-go/transport/round_trippers.go b/staging/src/k8s.io/client-go/transport/round_trippers.go index 2394c42c9b0..e6bb84e17e5 100644 --- a/staging/src/k8s.io/client-go/transport/round_trippers.go +++ b/staging/src/k8s.io/client-go/transport/round_trippers.go @@ -19,6 +19,7 @@ package transport import ( "fmt" "net/http" + "path/filepath" "strings" "time" @@ -97,7 +98,10 @@ type authProxyRoundTripper struct { // response headers and send the If-None-Match header on subsequent // corresponding requests. func NewCacheRoundTripper(cacheDir string, rt http.RoundTripper) http.RoundTripper { - d := diskv.New(diskv.Options{BasePath: cacheDir}) + d := diskv.New(diskv.Options{ + BasePath: cacheDir, + TempDir: filepath.Join(cacheDir, ".diskv-temp"), + }) t := httpcache.NewTransport(diskcache.NewWithDiskv(d)) t.Transport = rt