1
0
Fork 0
mirror of https://github.com/portainer/portainer.git synced 2025-08-02 20:35:25 +02:00

fix(edgestacks): fix a deadlock in UpdateEdgeStackFunc() (#8735)

This commit is contained in:
andres-portainer 2023-04-03 14:24:27 -03:00 committed by GitHub
parent feab2a757e
commit 1a451823d9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -100,11 +100,8 @@ func (service ServiceTx) UpdateEdgeStack(ID portainer.EdgeStackID, edgeStack *po
return nil
}
// UpdateEdgeStackFunc is a no-op inside a transaction.
// Deprecated: use UpdateEdgeStack inside a transaction instead.
func (service ServiceTx) UpdateEdgeStackFunc(ID portainer.EdgeStackID, updateFunc func(edgeStack *portainer.EdgeStack)) error {
service.service.mu.Lock()
defer service.service.mu.Unlock()
edgeStack, err := service.EdgeStack(ID)
if err != nil {
return err
@ -112,15 +109,7 @@ func (service ServiceTx) UpdateEdgeStackFunc(ID portainer.EdgeStackID, updateFun
updateFunc(edgeStack)
err = service.UpdateEdgeStack(ID, edgeStack)
if err != nil {
return err
}
service.service.idxVersion[ID] = edgeStack.Version
service.service.cacheInvalidationFn(ID)
return nil
return service.UpdateEdgeStack(ID, edgeStack)
}
// DeleteEdgeStack deletes an Edge stack.