lock wait timeout in create_dhcp_port

Bug #1313851 reported by Salvatore Orlando
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
neutron
Fix Released
Medium
Rossella Sblendido
Changed in neutron:
assignee: nobody → Rossella Sblendido (rossella-o)
Kyle Mestery (mestery)
Changed in neutron:
milestone: juno-1 → juno-2
Changed in neutron:
status: New → Confirmed
Revision history for this message
Ihar Hrachyshka (ihar-hrachyshka) wrote :

The lock scenario could go as follows: we see in the log that sync_routers() is called. It opens txn, then calls to _ensure_host_set_on_ports(), which lower in the stack calls to plugin.update_port(), which notifies and yields. Then we switch to a thread that updates port state, lock on that, and finally timeout.

Revision history for this message
Rossella Sblendido (rossella-o) wrote :

Ihar thanks for looking into it.

The operation that times out is the creation of the dhcp port, not the update port.
The update port you mentioned locks the table Port. After that I see a release_dhcp_port that is followed by a delete_ports_by_device_id and delete_port . This operation requires the lock on the port table so I think the previous update port finished.
Then there's a dhcp port creation. This operation is able to acquire the locks on the following tables: IPAllocationPool, IPAvailabilityRange and Port but fails when it tries to update the table IPAllocation . I still don't know why.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (master)

Fix proposed to branch: master
Review: https://review.openstack.org/104936

Changed in neutron:
status: Confirmed → In Progress
Changed in neutron:
milestone: juno-2 → juno-3
Revision history for this message
Joe Gordon (jogo) wrote :

No hits for this one looks like it was resolved

Changed in neutron:
status: In Progress → Fix Committed
Thierry Carrez (ttx)
Changed in neutron:
status: Fix Committed → Fix Released
Revision history for this message
Carl Baldwin (carl-baldwin) wrote :

How can we set this to fix committed? What was the fix? The only fix linked was abandoned.

Revision history for this message
Carl Baldwin (carl-baldwin) wrote :

Under create_dhcp_port (an RPC call) is a create_port called on the plugin. I believe this is a manifestation of a larger problem. One that I'm seeing currently with a little bit larger scale. The lock wait timeout is the same and it is always in the context of create_port. It is not always in the context of create_dhcp_port.

Thierry Carrez (ttx)
Changed in neutron:
milestone: juno-3 → 2014.2
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on neutron (master)

Change abandoned by Kyle Mestery (<email address hidden>) on branch: master
Review: https://review.openstack.org/100963
Reason: This review is > 4 weeks without comment, and failed Jenkins the last time it was checked. We are abandoning this for now. Feel free to reactivate the review by pressing the restore button and leaving a 'recheck' comment to get fresh test results.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers