Merge ~sylvain-pineau/checkbox-ng:mem-improv-1749099 into checkbox-ng:master
Status: | Merged |
---|---|
Approved by: | Sylvain Pineau |
Approved revision: | 05dfbf8faa7d836d4e553270f70fca3bff7c306d |
Merged at revision: | 86f0249dda663dd7ea81bf6b6eff23b393f0e234 |
Proposed branch: | ~sylvain-pineau/checkbox-ng:mem-improv-1749099 |
Merge into: | checkbox-ng:master |
Diff against target: |
151 lines (+35/-59) 3 files modified
plainbox/impl/exporter/tar.py (+32/-56) plainbox/impl/exporter/xlsx.py (+1/-1) plainbox/impl/session/assistant.py (+2/-2) |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Maciej Kisielewski (community) | Approve | ||
Review via email:
|
Description of the change
This MR aims to reduce the memory usage when dealing with reports generation.
using the following 3 techniques:
- xlsx constructor accepts a constant_memory option (See http://
- all reports are using SpooledTemporar
- avoid LZMA compression on systems with less than 1GiB of memory.
Submission to C3 still works (https:/
How to test:
- Tweak tar.py from this branch and adjust the line "if mem_mib < 1200:" to be "if mem_mib < 100200:" (should work except if you have 100G of RAM...)
- Run ulimit -Sv 230000 (you may have to adjust it if checkbox cannot run bootstrap jobs/extcmd)
- Run canonical-
One nitpick inline.
Overall great stuff, +1!