Fix race condition in service delete
Use synchronize_session='fetch' to force refresh session before delete service record in db. Change-Id: I237336560cdfedb779fabfa0d469af8f092180ec Closes-bug: #1538382
This commit is contained in:
parent
57af3e31b6
commit
1ff29a5b12
|
@ -93,7 +93,7 @@ class ServiceManageCommand(object):
|
|||
svc = self._format_service(service)
|
||||
if svc['status'] == 'down':
|
||||
print(_('Dead service %s is removed.') % svc['service_id'])
|
||||
api.service_delete(svc['service_id'])
|
||||
api.service_delete(self.ctx, svc['service_id'])
|
||||
|
||||
@staticmethod
|
||||
def add_service_parsers(subparsers):
|
||||
|
|
|
@ -1208,13 +1208,8 @@ def service_update(context, service_id, values=None):
|
|||
|
||||
def service_delete(context, service_id):
|
||||
session = _session(context)
|
||||
svc = session.query(models.Service).get(service_id)
|
||||
if not svc:
|
||||
return None
|
||||
session.begin()
|
||||
session.delete(svc)
|
||||
session.commit()
|
||||
session.flush()
|
||||
session.query(models.Service).filter_by(
|
||||
id=service_id).delete(synchronize_session='fetch')
|
||||
|
||||
|
||||
def service_get(context, service_id):
|
||||
|
|
Loading…
Reference in New Issue