← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1424745] [NEW] SQL is not able to honor multiple filters in driver_hints.Hints()

 

Public bug reported:

When iterating over the list of filters to honor them [1], the method
remove elements from that list at the same time [2].

This way, not all filters are honored since the internal idx used by
python is not aware of the removal while iterating. The following
example code exposes this behavior:

a=[1,2]
for b in a:
    print b
    a.remove(b)

It prints 1 and the list ends with element 2.

[1] https://github.com/openstack/keystone/blob/master/keystone/common/sql/core.py#L319-L325
[2] https://github.com/openstack/keystone/blob/master/keystone/common/sql/core.py#L314

** Affects: keystone
     Importance: Undecided
     Assignee: Samuel de Medeiros Queiroz (samueldmq)
         Status: New

** Changed in: keystone
     Assignee: (unassigned) => Samuel de Medeiros Queiroz (samueldmq)

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to Keystone.
https://bugs.launchpad.net/bugs/1424745

Title:
  SQL is not able to honor multiple filters in driver_hints.Hints()

Status in OpenStack Identity (Keystone):
  New

Bug description:
  When iterating over the list of filters to honor them [1], the method
  remove elements from that list at the same time [2].

  This way, not all filters are honored since the internal idx used by
  python is not aware of the removal while iterating. The following
  example code exposes this behavior:

  a=[1,2]
  for b in a:
      print b
      a.remove(b)

  It prints 1 and the list ends with element 2.

  [1] https://github.com/openstack/keystone/blob/master/keystone/common/sql/core.py#L319-L325
  [2] https://github.com/openstack/keystone/blob/master/keystone/common/sql/core.py#L314

To manage notifications about this bug go to:
https://bugs.launchpad.net/keystone/+bug/1424745/+subscriptions


Follow ups

References