Activity log for bug #1282925

Date Who What changed Old value New value Message
2014-02-21 08:15:09 Akihiro Motoki bug added bug
2014-02-21 08:19:34 Akihiro Motoki description db_plugin.delete_ports() can lead to long transaction if plugin.deleete_port talks with external system. it is observed first in nec plugin (bug 1282922), but it affects multiple plugins/drivers. The detail is described in bug 1282922. Quoted from the original bug report. ---- The case I observed is that delete-port from dhcp-agent (release_dhcp_port RPC call) and delete-port from delete-network API request are run in parallel. plugin.delete-port in nec plugin calls REST API call to an external controller in addition to operates on neutron database. After my investigation and testing, db_plugin.delete_ports() calls plugin.delete_port() under a transaction. https://github.com/openstack/neutron/blob/master/neutron/db/db_base_plugin_v2.py#L1367 This means the transaction continues over API calls to external controller and it leads to a long transaction. When plugin.delete_ports() and plugin.delete_port() are run at the same time, even if plugin.delete_port() avoid long transaction, db operations in plugin.delete_port() is blocked and they can fail with timeout. ---- db_plugin.delete_ports() can lead to long transaction if plugin.deleete_port talks with external system. it is observed first in nec plugin (bug 1282922), but it affects multiple plugins/drivers. Note that it is about delete_ports and not about delete_port. The detail is described in bug 1282922. Quoted from the original bug report. ---- The case I observed is that delete-port from dhcp-agent (release_dhcp_port RPC call) and delete-port from delete-network API request are run in parallel. plugin.delete-port in nec plugin calls REST API call to an external controller in addition to operates on neutron database. After my investigation and testing, db_plugin.delete_ports() calls plugin.delete_port() under a transaction. https://github.com/openstack/neutron/blob/master/neutron/db/db_base_plugin_v2.py#L1367 This means the transaction continues over API calls to external controller and it leads to a long transaction. When plugin.delete_ports() and plugin.delete_port() are run at the same time, even if plugin.delete_port() avoid long transaction, db operations in plugin.delete_port() is blocked and they can fail with timeout. ----
2014-02-21 08:43:04 Akihiro Motoki description db_plugin.delete_ports() can lead to long transaction if plugin.deleete_port talks with external system. it is observed first in nec plugin (bug 1282922), but it affects multiple plugins/drivers. Note that it is about delete_ports and not about delete_port. The detail is described in bug 1282922. Quoted from the original bug report. ---- The case I observed is that delete-port from dhcp-agent (release_dhcp_port RPC call) and delete-port from delete-network API request are run in parallel. plugin.delete-port in nec plugin calls REST API call to an external controller in addition to operates on neutron database. After my investigation and testing, db_plugin.delete_ports() calls plugin.delete_port() under a transaction. https://github.com/openstack/neutron/blob/master/neutron/db/db_base_plugin_v2.py#L1367 This means the transaction continues over API calls to external controller and it leads to a long transaction. When plugin.delete_ports() and plugin.delete_port() are run at the same time, even if plugin.delete_port() avoid long transaction, db operations in plugin.delete_port() is blocked and they can fail with timeout. ---- db_plugin.delete_ports() can lead to long transaction if plugin.delete_port talks with external system. it is observed first in nec plugin (bug 1282922), but it affects multiple plugins/drivers. Note that it is about delete_ports and not about delete_port. The detail is described in bug 1282922. Quoted from the original bug report. ---- The case I observed is that delete-port from dhcp-agent (release_dhcp_port RPC call) and delete-port from delete-network API request are run in parallel. plugin.delete-port in nec plugin calls REST API call to an external controller in addition to operates on neutron database. After my investigation and testing, db_plugin.delete_ports() calls plugin.delete_port() under a transaction. https://github.com/openstack/neutron/blob/master/neutron/db/db_base_plugin_v2.py#L1367 This means the transaction continues over API calls to external controller and it leads to a long transaction. When plugin.delete_ports() and plugin.delete_port() are run at the same time, even if plugin.delete_port() avoid long transaction, db operations in plugin.delete_port() is blocked and they can fail with timeout. ----
2014-02-26 16:35:52 Akihiro Motoki tags db db ml2 nec
2014-03-05 19:50:12 Thierry Carrez neutron: milestone icehouse-3 icehouse-rc1
2014-03-07 07:03:09 OpenStack Infra neutron: status New In Progress
2014-03-16 22:24:02 OpenStack Infra neutron: status In Progress Fix Committed
2014-04-01 11:58:11 Thierry Carrez neutron: status Fix Committed Fix Released
2014-04-17 11:35:06 Thierry Carrez neutron: milestone icehouse-rc1 2014.1