Merge pull request #51700 from jschfflr/45939-nil-check-tx-cleanup

layer: Fix orphan creation in registerWithDescriptor
This commit is contained in:
Paweł Gronowski
2025-12-12 11:44:46 +00:00
committed by GitHub

View File

@@ -294,12 +294,15 @@ func (ls *layerStore) registerWithDescriptor(ts io.Reader, parent ChainID, descr
descriptor: descriptor,
}
if cErr = ls.driver.Create(layer.cacheID, pid, nil); cErr != nil {
tx, cErr := ls.store.StartTransaction()
if cErr != nil {
return nil, cErr
}
tx, cErr := ls.store.StartTransaction()
if cErr != nil {
if cErr = ls.driver.Create(layer.cacheID, pid, nil); 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
}