yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #31219
[Bug 1441488] [NEW] stale db objects due to session reuse
Public bug reported:
many of neutron code seems to be written without considering
the reuse of session and its associated object cache.
it's a problem for UTs where admin context (and thus its session) is
reused heavily. here's an example of the failure [1].
but there might be non-test code possibly affected.
switching to expire_on_commit=True might improve the situation.
but it doesn't entirely solve the problem because some of read-only
queries are done without explicit transactions.
[1] http://logs.openstack.org/82/158182/5/check/gate-neutron-python27/402b450/
Traceback (most recent call last):
File "neutron/tests/unit/plugins/ml2/drivers/l2pop/test_mech_driver.py", line 864, in test_host_changed_twice
mock.ANY, 'remove_fdb_entries', expected)
File "/home/jenkins/workspace/gate-neutron-python27/.tox/py27/local/lib/python2.7/site-packages/mock.py", line 831, in assert_called_with
raise AssertionError('Expected call: %s\nNot called' % (expected,))
AssertionError: Expected call: _notification_fanout(<ANY>, 'remove_fdb_entries', {u'58de62e4-5001-485b-a334-b65c3da97745': {'segment_id': 1, 'ports': {'20.0.0.1': [('00:00:00:00:00:00', '0.0.0.0'), PortInfo(mac_address=u'12:34:56:78:fa:4a', ip_address=u'10.0.0.2')]}, 'network_type': 'vxlan'}})
Not called
** 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/1441488
Title:
stale db objects due to session reuse
Status in OpenStack Neutron (virtual network service):
New
Bug description:
many of neutron code seems to be written without considering
the reuse of session and its associated object cache.
it's a problem for UTs where admin context (and thus its session) is
reused heavily. here's an example of the failure [1].
but there might be non-test code possibly affected.
switching to expire_on_commit=True might improve the situation.
but it doesn't entirely solve the problem because some of read-only
queries are done without explicit transactions.
[1] http://logs.openstack.org/82/158182/5/check/gate-neutron-python27/402b450/
Traceback (most recent call last):
File "neutron/tests/unit/plugins/ml2/drivers/l2pop/test_mech_driver.py", line 864, in test_host_changed_twice
mock.ANY, 'remove_fdb_entries', expected)
File "/home/jenkins/workspace/gate-neutron-python27/.tox/py27/local/lib/python2.7/site-packages/mock.py", line 831, in assert_called_with
raise AssertionError('Expected call: %s\nNot called' % (expected,))
AssertionError: Expected call: _notification_fanout(<ANY>, 'remove_fdb_entries', {u'58de62e4-5001-485b-a334-b65c3da97745': {'segment_id': 1, 'ports': {'20.0.0.1': [('00:00:00:00:00:00', '0.0.0.0'), PortInfo(mac_address=u'12:34:56:78:fa:4a', ip_address=u'10.0.0.2')]}, 'network_type': 'vxlan'}})
Not called
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1441488/+subscriptions
Follow ups
References