Reviewed: https://review.openstack.org/350315 Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=7e69891412e967a8509fe6877501114e148f7518 Submitter: Jenkins Branch: master
commit 7e69891412e967a8509fe6877501114e148f7518 Author: Isaku Yamahata <[email protected]> Date: Tue Aug 2 15:51:18 2016 -0700 ml2: allow retry on retriabable db error by precommit Db retriable error by precommit can be recovered with upper layer by retry instead of converting into ML2MechanismDriverError. Raise retriable db error instead of swallowing it and let upper layer to retry. Due to concurrency, db error by precommit is sometimes inevitable. precommit may issue db transactions depending on mechanism driver, Some operations on e.g. subnet, routers, touches many other resources (e.g. ip allocation, ports) in single db transaction as well. And background operation by mechanism driver (e.g. background sync, monitoring resources periodically, etc) may touch those db tables with other order. Change-Id: Ifc670c1eb5801934bf46fdc23a7721ce4c2cfa6c Closes-Bug: #1609184 Closes-Bug: #1609149 ** Changed in: neutron Status: In Progress => Fix Released -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to neutron. https://bugs.launchpad.net/bugs/1609184 Title: ML2: Allow retry on db error by precommit Status in neutron: Fix Released Bug description: Allow retry on db retriable error by precommit mothod. Currently ML2 driver manager swallows all exceptions by mechanism driver and return errors to user. However, there are classes of retriable db errors(DBDeadlock, taleDataError, DDuplicateEntry, TretryRequest). With those error by precommit, it's better to allow neutron.api.v2.base.Controller to retry request. Sometimes, those db error by precommit is inevitable. Especially subnet operation touches many resources(port, ip address, etc). To manage notifications about this bug go to: https://bugs.launchpad.net/neutron/+bug/1609184/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : [email protected] Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp

