mozilla/socorro — pull request #2229 by twobraids (2014-07-21 13:43:42+00:00)
Title: Fixes bug 1041263 - stopped the BenchmarkingCrashStore from subverting HBase

added benchmarking 'save_raw_and_processed' to prevent subverting HBase.

The problem is in the benchmarking code in a unfortunate interaction with HBase. At the end of processing a crash, we call a method called "save_raw_and_processed" rather than just "save_processed". Most crashstores make do with the base class version of this method which calls the "save_raw" and "save_processed" methods in turn. HBase, though has it's own "save_raw_and_processed" because the raw crash is already in HBase - we don't want to save it a second time (HBase doesn't really delete, we'd end up with wasted space with two copies of the raw crash in HBase).

The Benchmarking code subverted HBase's self protection, by overriding HBase's "save_raw_and_processed" with the base class "save_raw_and_processed" and causing a second storage attempt at the raw_crash.