oopses not published when not using fallback_chain

Bug #1267055 reported by Michael Nelson on 2014-01-08
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
python-oops-dictconfig
High
Michael Nelson

Bug Description

Steps to reproduce:
 1. Use standard configglue syntax to specify a single publisher without any fallbacks [1]
 2. View your settings and that your settings now include default values for other items, specificaly fallback_chain=[] [2]
 3. Run your app and cause an oops

Result: oops isn't written to disk.

AFAICT, the reason is that in oops_dictconfig.dictconfig.config_from_dict(), the presence of the fallback_chain key causes the publish method to be created from the (empty) fallback chain, rather than from the publisher defn.

[1] http://paste.ubuntu.com/6714019/
[2] Eg:
$ ./manage.py settings oopses
OOPSES = {'publishers': [{'inherit_id': False, 'error_dir': '/tmp/my-oopses', 'exchange_name': '', 'routing_key': '', 'vhost': '', 'host': '', 'user': '', 'new_only': False, 'password': '', 'type': 'datedir', 'fallback_chain': []}], 'template': {'reporter': 'DEV'}}

Related branches

Michael Nelson (michael.nelson) wrote :

BTW, the only work-around I could see was to use json for the oopses setting in my configglue config (ie. so it specifically doesn't contain default values for unspecified config options.)

James Westby (james-w) on 2014-01-08
Changed in python-oops-dictconfig:
status: New → In Progress
importance: Undecided → High
assignee: nobody → Michael Nelson (michael.nelson)
Changed in python-oops-dictconfig:
status: In Progress → Fix Committed
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers