Skip to content

Commit 180b3c7

Browse files
committed
Fix package lock key which should be related to owner id and package name
1 parent e815da2 commit 180b3c7

File tree

1 file changed

+9
-3
lines changed
  • routers/api/packages/container

1 file changed

+9
-3
lines changed

routers/api/packages/container/blob.go

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -88,14 +88,14 @@ func mountBlob(ctx context.Context, pi *packages_service.PackageInfo, pb *packag
8888
})
8989
}
9090

91-
func containerPkgName(piName string) string {
92-
return "pkg_container_" + strings.ToLower(piName)
91+
func containerPkgName(piOwnerID int64, piName string) string {
92+
return fmt.Sprintf("pkg_%d_container_%s", piOwnerID, strings.ToLower(piName))
9393
}
9494

9595
func getOrCreateUploadVersion(ctx context.Context, pi *packages_service.PackageInfo) (*packages_model.PackageVersion, error) {
9696
var uploadVersion *packages_model.PackageVersion
9797

98-
releaser, err := globallock.Lock(ctx, containerPkgName(pi.Name))
98+
releaser, err := globallock.Lock(ctx, containerPkgName(pi.Owner.ID, pi.Name))
9999
if err != nil {
100100
return nil, err
101101
}
@@ -177,6 +177,12 @@ func createFileForBlob(ctx context.Context, pv *packages_model.PackageVersion, p
177177
}
178178

179179
func deleteBlob(ctx context.Context, ownerID int64, image, digest string) error {
180+
releaser, err := globallock.Lock(ctx, containerPkgName(ownerID, image))
181+
if err != nil {
182+
return err
183+
}
184+
defer releaser()
185+
180186
return db.WithTx(ctx, func(ctx context.Context) error {
181187
pfds, err := container_model.GetContainerBlobs(ctx, &container_model.BlobSearchOptions{
182188
OwnerID: ownerID,

0 commit comments

Comments
 (0)