« Previous | Next » 

Revision 39cefb25

ID39cefb25d7a0a260c4dba627caa173e0c1f57a2d

Added by Georgios D. Tsoukalas almost 12 years ago

fix obscure bug in callpoint class that triggered db integrity errors

Callpoint class had a placeholder attribute original_calls
which was initialized as an empty dictionary,
and thus was usable. Class init() code did not initialize
original_calls as it should but because the placeholder was
usable it did not break. Alas, the placeholder is global
to all subclasses and their instances and one instance
leaked attributes and functionality to the other.

This caused the kamaki quotaholder client to be hijacked
and directly call the backend, which was available
on the same system/gunicorn deployment in our tests.
The backend was directly called from an astakos view that
had no transaction active (i.e. was on auto-commit).
Normally, the backend would be called from the
quotaholder_app view, which explicitly sets up a transaction.

Files

  • added
  • modified
  • copied
  • renamed
  • deleted

View differences