← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1609184] Re: ML2: Allow retry on db error by precommit

 

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 <isaku.yamahata@xxxxxxxxx>
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


References