nomad/state/state_store: two cases of incorrect CSIPlugin in-place (#8630)

This commit is contained in:
Lang Martin 2020-08-10 18:15:29 -04:00 committed by GitHub
parent 8ff8dde618
commit f245ba91c4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1099,7 +1099,7 @@ func upsertNodeCSIPlugins(txn *memdb.Txn, node *structs.Node, index uint64) erro
if raw == nil {
break
}
plug := raw.(*structs.CSIPlugin)
plug := raw.(*structs.CSIPlugin).Copy()
var hadDelete bool
if _, ok := inUseController[plug.ID]; !ok {
@ -4740,6 +4740,7 @@ func (s *StateStore) updatePluginWithAlloc(index uint64, alloc *structs.Allocati
// became healthy, just move on
return nil
}
plug = plug.Copy()
err = plug.DeleteAlloc(alloc.ID, alloc.NodeID)
if err != nil {
return err