diff --git a/cmd/cigocacher/cigocacher.go b/cmd/cigocacher/cigocacher.go index 74ed08367..e541403a1 100644 --- a/cmd/cigocacher/cigocacher.go +++ b/cmd/cigocacher/cigocacher.go @@ -143,19 +143,26 @@ func main() { log.Printf("Using cigocached at %s", *srvURL) } c.remote = &cachers.HTTPClient{ - BaseURL: *srvURL, - Disk: c.disk, - HTTPClient: httpClient(srvHost, *srvHostDial), - AccessToken: *token, - Verbose: *verbose, - BestEffortHTTP: true, + BaseURL: *srvURL, + Disk: c.disk, + HTTPClient: httpClient(srvHost, *srvHostDial), + AccessToken: *token, + Verbose: *verbose, + BestEffortHTTP: true, + AsyncPutTimeout: 10 * time.Second, // Generous enough to allow for big objects ~100MiB. + AsyncPutMaxConcurrent: 10, } } var p *cacheproc.Process p = &cacheproc.Process{ Close: func() error { + if c.remote != nil { + if !c.remote.Shutdown() { + log.Printf("cigocacher: timed out waiting for background PUTs to drain") + } + } if c.verbose { - log.Printf("gocacheprog: closing; %d gets (%d hits, %d misses, %d errors); %d puts (%d errors)", + log.Printf("cigocacher: closing; %d gets (%d hits, %d misses, %d errors); %d puts (%d errors)", p.Gets.Load(), p.GetHits.Load(), p.GetMisses.Load(), p.GetErrors.Load(), p.Puts.Load(), p.PutErrors.Load()) } return c.close() diff --git a/flake.nix b/flake.nix index a08042da2..875d3f359 100644 --- a/flake.nix +++ b/flake.nix @@ -173,4 +173,4 @@ }); }; } -# nix-direnv cache busting line: sha256-7+zxTSp/uFcWHbZPqmffTzNUjCiwdKouAjqL1U5TV5k= +# nix-direnv cache busting line: sha256-amKkUPszyhG4N5ZtrB01swBACYq76raSS+SQRneLmwc= diff --git a/flakehashes.json b/flakehashes.json index ef03f12ea..1a4f1a40c 100644 --- a/flakehashes.json +++ b/flakehashes.json @@ -4,7 +4,7 @@ "sri": "sha256-TwIaPmGVHO9ZwdaO/jDStgWGQtKa4smS3er1i5aTNTw=" }, "vendor": { - "goModSum": "sha256-3KQ4C93byCm5ioPVBi+GC8mwonqhsdBdpBhUWTCZyoM=", - "sri": "sha256-7+zxTSp/uFcWHbZPqmffTzNUjCiwdKouAjqL1U5TV5k=" + "goModSum": "sha256-AbvfXWjfcRZHLJOp2Vuslvie8ROmm2pGvhxYIs07aNY=", + "sri": "sha256-amKkUPszyhG4N5ZtrB01swBACYq76raSS+SQRneLmwc=" } } diff --git a/go.mod b/go.mod index 81bb6cc9b..9c0e45c81 100644 --- a/go.mod +++ b/go.mod @@ -17,7 +17,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/s3 v1.75.3 github.com/aws/aws-sdk-go-v2/service/ssm v1.45.0 github.com/axiomhq/hyperloglog v0.0.0-20240319100328-84253e514e02 - github.com/bradfitz/go-tool-cache v0.0.0-20260216153636-9e5201344fe5 + github.com/bradfitz/go-tool-cache v0.0.0-20260722201841-0bb331e19f64 github.com/bradfitz/monogok v0.0.0-20260630033929-b1eef977b41f github.com/bradfitz/qemu-guest-kragent v0.0.0-20240513123539-55a43ea02a03 github.com/bramvdbogaerde/go-scp v1.4.0 diff --git a/go.sum b/go.sum index 297fa3390..ac10645a1 100644 --- a/go.sum +++ b/go.sum @@ -211,8 +211,8 @@ github.com/boltdb/bolt v1.3.1 h1:JQmyP4ZBrce+ZQu0dY660FMfatumYDLun9hBCUVIkF4= github.com/boltdb/bolt v1.3.1/go.mod h1:clJnj/oiGkjum5o1McbSZDSLxVThjynRyGBgiAx27Ps= github.com/bombsimon/wsl/v4 v4.2.1 h1:Cxg6u+XDWff75SIFFmNsqnIOgob+Q9hG6y/ioKbRFiM= github.com/bombsimon/wsl/v4 v4.2.1/go.mod h1:Xu/kDxGZTofQcDGCtQe9KCzhHphIe0fDuyWTxER9Feo= -github.com/bradfitz/go-tool-cache v0.0.0-20260216153636-9e5201344fe5 h1:0sG3c7afYdBNlc3QyhckvZ4bV9iqlfqCQM1i+mWm0eE= -github.com/bradfitz/go-tool-cache v0.0.0-20260216153636-9e5201344fe5/go.mod h1:78ZLITnBUCDJeU01+wYYJKaPYYgsDzJPRfxeI8qFh5g= +github.com/bradfitz/go-tool-cache v0.0.0-20260722201841-0bb331e19f64 h1:4FMo2ozvaa8GQNXf66C+jXzLh6gNudUtT84uuHGm09k= +github.com/bradfitz/go-tool-cache v0.0.0-20260722201841-0bb331e19f64/go.mod h1:n1IcQ3NLdg7hL0XnSuQpkbHG0W+gYAgKoru/Y/WZaEY= github.com/bradfitz/monogok v0.0.0-20260630033929-b1eef977b41f h1:voy0korWbg2e1gsJpBZ8/OBhVL8evXeUwbCZcA1PWv8= github.com/bradfitz/monogok v0.0.0-20260630033929-b1eef977b41f/go.mod h1:TG1HbU9fRVDnNgXncVkKz9GdvjIvqquXjH6QZSEVmY4= github.com/bradfitz/qemu-guest-kragent v0.0.0-20240513123539-55a43ea02a03 h1:V1gD/xbQZtimHXZ0y19oMgTVBIXQyazG/mG9JIflrIY= diff --git a/shell.nix b/shell.nix index 0dec1dc2d..e12f398bc 100644 --- a/shell.nix +++ b/shell.nix @@ -16,4 +16,4 @@ ) { src = ./.; }).shellNix -# nix-direnv cache busting line: sha256-7+zxTSp/uFcWHbZPqmffTzNUjCiwdKouAjqL1U5TV5k= +# nix-direnv cache busting line: sha256-amKkUPszyhG4N5ZtrB01swBACYq76raSS+SQRneLmwc=