mirror of
https://github.com/scylladb/scylladb.git
synced 2026-05-22 07:42:16 +00:00
" The debug-mode tests nowadays take ~1 hours to complete on a 24-cores threadripper machine. This is mostly because of a bunch of individual test cases that run sequentially (since they sit in one test) each taking half-an-hour and longer. The previous attempt was to break the longest tests into pieces, and to update the list of long-running test in suite.yaml file, but the concern was that the linkage time and disk space would grow without limits if this continues. Also the long-running tests list needs to be revisited every so often. So the new attempt is to resurrect Avi's patch that ran test cases in parallel for boost tests. This set applies parallelizm to all tests and allows to blacklist those that shound't (the logalloc needs the very first case to prime_segment_pools so that other cases run smoothly, thus is cannot be parallelized). Although this wild parallelizm adds an overhead for _each_ test case this is good enough even for short dev-mode tests (saves 25% of runtime), but greatly relaxes the maintenance of the "parallelizable list of tests". For debug tests the problem is not 100% solved. There are 6 cases that run longer than 30min, while all the others complete much- -much faster. So if excluding those slow 6 cases the full parallel run saves 50+% of the runtime -- 60+m now vs 25m with the patch. Those 6 slowest cases will need more incremental care. The --parallel-cases mode is not yet default, because it requires larger max-aio-nr value to be set, which is not (yet?) automatic. Also it sometimes hits nr-open-files limit, which also needs more work. tests: unit(dev), unit(debug) " * 'br-parallel-testpy-3' of https://github.com/xemul/scylla: tests: Update boost long tests list test.py: Parallelize test-cases run (for boost tests) test.py: Prepare BoostTest for running individual cases test.py: Prepare TestSuite::create_test() for parallelizm test.py: Treat shortname as composite test.py: Reformat tabluar output