yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #52394
[Bug 1592983] [NEW] callback can't unsubscribe itself in python3
Public bug reported:
The callback manager uses .items() which is not a copy of the
subscribers dict in python3. This means that a callback that wants to
unsubscribe itself will die in python3 with an error:
b' self.manager.notify(resources.PORT, events.BEFORE_CREATE, mock.ANY)'
b' File "/home/administrator/code/neutron/neutron/callbacks/manager.py", line 118, in notify'
b' errors = self._notify_loop(resource, event, trigger, **kwargs)'
b' File "/home/administrator/code/neutron/neutron/callbacks/manager.py", line 143, in _notify_loop'
b' for callback_id, callback in callbacks:'
b'RuntimeError: dictionary changed size during iteration'
b''
** Affects: neutron
Importance: Low
Assignee: Kevin Benton (kevinbenton)
Status: In Progress
** Changed in: neutron
Assignee: (unassigned) => Kevin Benton (kevinbenton)
** Changed in: neutron
Importance: Undecided => Low
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1592983
Title:
callback can't unsubscribe itself in python3
Status in neutron:
In Progress
Bug description:
The callback manager uses .items() which is not a copy of the
subscribers dict in python3. This means that a callback that wants to
unsubscribe itself will die in python3 with an error:
b' self.manager.notify(resources.PORT, events.BEFORE_CREATE, mock.ANY)'
b' File "/home/administrator/code/neutron/neutron/callbacks/manager.py", line 118, in notify'
b' errors = self._notify_loop(resource, event, trigger, **kwargs)'
b' File "/home/administrator/code/neutron/neutron/callbacks/manager.py", line 143, in _notify_loop'
b' for callback_id, callback in callbacks:'
b'RuntimeError: dictionary changed size during iteration'
b''
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1592983/+subscriptions
Follow ups