← Back to team overview

launchpad-dev team mailing list archive

headsup: upcoming changes to oops-*

 

Actually thats a lie, this mail is about changes that have already
happened, *and* about some upcoming changes.

The exciting news is this:
 - oopses will be much more extensible - a bson serializable dict is
used, rather than the rfc822 format
 - we may have low latency (several second) delays from oops creation
to inclusion on the oops-tools site
 - oops-tools itself will be open sourced soon

The downside, and the reason for this mail *before* enacting all these
changes, is that the change to bson will make OOPSes less greppable on
devpad. This is a commonly used workaround for lp:oops-tools not
offering comprehensive search facilities. Note that bson doesn't
mangle strings, so you can still grep, but you need to run the matches
through python to extract the thing you looked for - the bson.loads()
function can pull out a bare report, or you can use the
oops_datedir_repo.serializer_bson.read() function. Note that
backtraces reported in launchpad.dev's web UI will still be normal,
same with those on the console, and oopses attached during tests will
be unchanged (because our test glue uses the rfc822 serializer
directly).

Now, these separate changes are separate: we can get the lower latency
oopses without switching to bson, and vice versa - so if there is a
-big- issue for us in switching to bson, we can defer that part.

Technically, the bson change is a change to the default serializer in
oops_datedir_repo, so if you bump the rev of that component to 0.0.8
or above and *don't* want to switch to bson, be sure to update your
config to pass in the rfc822 serializer.

I haven't yet integrated this into Launchpad itself, nor updated any
oops generating components to 0.0.8, so currently there is no change
in behaviour ;). Integrating that into LP will require us to fix the
inter-test isolation of reported oopses (which is a good thing to do)
so it probably won't happen this week (due to the time needed to
identify and track down failures). So - that gives us a few days to
talk around this and decide if the downside is too much, or not :)

Its my belief that we will still have *enough* greppability, and the
benefits of easier extensions to the oops format will outweigh the
downsides.

-Rob


Follow ups