mozilla/socorro — pull request #1044 by rfw (2013-01-11 01:07:46+00:00)
Title: Socorro FS Refactor

This implements four classes compatible with the Socorro crash storage API.

* `FSRadixTreeStorage`
This stores crashes under `YYYYMMDD/"name"/radix.../crash_id`. It provides processed crash storage but does not support finding new crashes.

* `FSDatedRadixTreeStorage`
This composes `FSRadixTreeStorage` to support additional referencing to crashes via `YYYYMMDD/"date"/HH/MM_SS/crash_id` that link to the actual directory stored in the `FSRadixTreeStorage`. It also provides a reverse symlink inside the `FSRadixTreeStorage` called `date_root` to link back to the `MM_SS` folder. This does not provide processed crash storage but supports finding new crashes.

* `PrimaryDeferredStorage`
This composes two storages that support the crash storage API and designates incoming crashes based on a `deferral_criteria` parameter to be stored in one of the two storages. This provides processed crash storage and finding new crashes.

* `PrimaryDeferredProcessedStorage`
This composes three storages, doing the same as above but all processed crashes are stored in the same crash storage.