← Back to team overview

yahoo-eng-team team mailing list archive

[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