diff --git a/pkg/transfer/local/import.go b/pkg/transfer/local/import.go index cf9944c72..6ccc4f1f9 100644 --- a/pkg/transfer/local/import.go +++ b/pkg/transfer/local/import.go @@ -113,10 +113,20 @@ func (ts *localTransferService) importStream(ctx context.Context, i transfer.Ima } if err := images.WalkNotEmpty(ctx, handler, index); err != nil { + if unpacker != nil { + // wait for unpacker to cleanup + unpacker.Wait() + } // TODO: Handle Not Empty as a special case on the input return err } + if unpacker != nil { + if _, err = unpacker.Wait(); err != nil { + return err + } + } + for _, desc := range descriptors { imgs, err := is.Store(ctx, desc, ts.images) if err != nil {