Merge pull request #51703 from vvoland/51700-docker-29.x

[docker-29.x backport] layer: Fix orphan creation in registerWithDescriptor
This commit is contained in:
Paweł Gronowski
2025-12-12 13:08:08 +00:00
committed by GitHub

View File

@@ -294,12 +294,15 @@ func (ls *layerStore) registerWithDescriptor(ts io.Reader, parent ChainID, descr
descriptor: descriptor, descriptor: descriptor,
} }
if cErr = ls.driver.Create(layer.cacheID, pid, nil); cErr != nil { tx, cErr := ls.store.StartTransaction()
if cErr != nil {
return nil, cErr return nil, cErr
} }
tx, cErr := ls.store.StartTransaction() if cErr = ls.driver.Create(layer.cacheID, pid, nil); cErr != nil {
if cErr != nil { if err := tx.Cancel(); err != nil {
log.G(context.TODO()).WithFields(log.Fields{"cache-id": layer.cacheID, "error": err}).Error("Error canceling metadata transaction")
}
return nil, cErr return nil, cErr
} }