fix: use correct worker pool, otherwise we can stall

This commit is contained in:
Marcus Holland-Moritz 2023-11-20 15:35:08 +01:00
parent 5579b35a52
commit 18cd20ea03

View File

@ -691,18 +691,15 @@ void scanner_<LoggerPolicy>::scan(
auto cc = fsw.get_compression_constraints(category.value(), meta);
wg_ordering.add_job([this, catmgr, blockmgr, category, cat_size, meta, cc,
&prog, &fsw, &im, &wg_ordering, &wg_blockify] {
wg_blockify.add_job(
[this, catmgr, blockmgr, category, cat_size, meta, cc, &prog, &fsw,
span = im.ordered_span(category, wg_ordering)]() mutable {
wg_blockify.add_job([this, catmgr, blockmgr, category, cat_size, meta, cc,
&prog, &fsw, &im, &wg_ordering] {
auto span = im.ordered_span(category, wg_ordering);
auto tv = LOG_CPU_TIMED_VERBOSE;
auto seg = segmenter_factory_->create(
category, cat_size, cc, blockmgr,
[category, meta, &fsw](auto block) {
return fsw.write_block(category.value(), std::move(block),
meta);
return fsw.write_block(category.value(), std::move(block), meta);
});
for (auto ino : span) {
@ -733,7 +730,6 @@ void scanner_<LoggerPolicy>::scan(
tv << category_prefix(catmgr, category) << "segmenting finished";
});
});
}
LOG_INFO << "waiting for segmenting/blockifying to finish...";