@@ -12,6 +12,7 @@ import (
1212 "github.com/containerd/containerd/content"
1313 "github.com/containerd/containerd/services/content/contentserver"
1414 "github.com/docker/distribution/reference"
15+ "github.com/hashicorp/go-multierror"
1516 "github.com/mitchellh/hashstructure/v2"
1617 controlapi "github.com/moby/buildkit/api/services/control"
1718 apitypes "github.com/moby/buildkit/api/types"
@@ -29,6 +30,7 @@ import (
2930 "github.com/moby/buildkit/session/grpchijack"
3031 containerdsnapshot "github.com/moby/buildkit/snapshot/containerd"
3132 "github.com/moby/buildkit/solver"
33+ "github.com/moby/buildkit/solver/bboltcachestorage"
3234 "github.com/moby/buildkit/solver/llbsolver"
3335 "github.com/moby/buildkit/solver/llbsolver/proc"
3436 "github.com/moby/buildkit/solver/pb"
@@ -61,6 +63,7 @@ type Opt struct {
6163 Entitlements []string
6264 TraceCollector sdktrace.SpanExporter
6365 HistoryDB * bbolt.DB
66+ CacheStore * bboltcachestorage.Store
6467 LeaseManager * leaseutil.Manager
6568 ContentStore * containerdsnapshot.Store
6669 HistoryConfig * config.HistoryConfig
@@ -123,7 +126,16 @@ func NewController(opt Opt) (*Controller, error) {
123126}
124127
125128func (c * Controller ) Close () error {
126- return c .opt .WorkerController .Close ()
129+ rerr := c .opt .HistoryDB .Close ()
130+ if err := c .opt .WorkerController .Close (); err != nil {
131+ rerr = multierror .Append (rerr , err )
132+ }
133+
134+ if err := c .opt .CacheStore .Close (); err != nil {
135+ rerr = multierror .Append (rerr , err )
136+ }
137+
138+ return rerr
127139}
128140
129141func (c * Controller ) Register (server * grpc.Server ) {
0 commit comments