buildbot/buildbot — pull request #1077 by jpommerening (2014-02-26 13:11:14+00:00)
Title: (WIP) keep HTML logs out of buildstatus pickles

Trac: http://trac.buildbot.net/ticket/739

The existing `HTMLLogFile` class worked pretty well for the occasional stack-trace (`err.html`), but is not really useful for storing large HTML logs from custom buildsteps, because it keeps the whole log in the buildstatus pickle.

I tried to solve the problem by making the class inherit from `LogFile`, so it serializes and compresses the logfile, but added a little bit of magic to store small log files in the pickles and keep compatible with earlier versions.

In it's current implementation, `HTMLLogFile` will keep anything that is smaller than 10k in memory & behave (mostly) just like before. Everything beyond that threshold will be passed right through to the `LogFile` class.

WIP:
* Passing very large HTML-logs into the constructor works, but is probably not a good idea, performance wise. Especially if you first have to upload the whole thing to the master and keep it in memory until you call `addHtmlLog`.
* I currently can't run all tests on my box (TestRealDB segfaults) – hope this was not caused by my change.