Comment 0 for bug 1371732

Revision history for this message
Ed Bak (ed-bak2) wrote : create_port failure resulting in Lock wait timeout

create_port can fail with a Lock wait timeout error.

The transaction performed in create_port makes a call to _process_port_bindings which then calls dvr_update_router_addvm. The notification made within dvr_update_router_addvm can hang. The transaction lock is held through the entire hang preventing other create_port threads from getting the lock and then timing out with a "Lock wait timeout."

2014-09-19 04:16:53.332 3391 TRACE neutron.api.v2.resource OperationalError: (OperationalError) (1205, 'Lock wait timeout exceeded; try restarting transaction') 'SELECT ipavailabilityranges.allocation_pool_id AS ipavailabilityranges_allocation_pool_id, ipavailabilityranges.first_ip AS ipavailabilityranges_first_ip, ipavailabilityranges.last_ip AS ipavailabilityranges_last_ip \nFROM ipavailabilityranges INNER JOIN ipallocationpools ON ipallocationpools.id = ipavailabilityranges.allocation_pool_id \nWHERE ipallocationpools.subnet_id = %s \n LIMIT %s FOR UPDATE' ('550ee3a3-6c4d-4a4a-b173-b7603e43356a', 1)