← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1426427] [NEW] Improve tunnel_sync server side rpc

 

Public bug reported:

We  have a concern that we may end up with db conflict errors due to
multiple parallel requests incoming.

Consider two threads (A and B), each receiving tunnel_sync with host set to HOST1 and HOST2. The race scenario is:
A checks whether tunnel exists and receives nothing.
B checks whether tunnel exists and receives nothing.
A adds endpoint with HOST1.
B adds endpoint with HOST2.

Now we have two endpoints for the same IP address with different hosts (I guess that is not what we would expect).
I think the only way to avoid it is check for tunnel existence under the same transaction that will update it, if present. Probably meaning, making add_endpoint aware of potential tunnel existence.

** Affects: neutron
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1426427

Title:
  Improve tunnel_sync server side rpc

Status in OpenStack Neutron (virtual network service):
  New

Bug description:
  We  have a concern that we may end up with db conflict errors due to
  multiple parallel requests incoming.

  Consider two threads (A and B), each receiving tunnel_sync with host set to HOST1 and HOST2. The race scenario is:
  A checks whether tunnel exists and receives nothing.
  B checks whether tunnel exists and receives nothing.
  A adds endpoint with HOST1.
  B adds endpoint with HOST2.

  Now we have two endpoints for the same IP address with different hosts (I guess that is not what we would expect).
  I think the only way to avoid it is check for tunnel existence under the same transaction that will update it, if present. Probably meaning, making add_endpoint aware of potential tunnel existence.

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1426427/+subscriptions


Follow ups

References