Skip to content

reduce parallelism of symbols result parsing

Warren Gifford requested to merge symbols-lower-parallelism into master

Created by: sqs

Previously there were up to 1000 goroutines allowed to wait on ctags parser processes to become ready, and to perform some post-processing on the output simultaneously. Now there are at most runtime.NumCPU() such goroutines allowed at once. Note that the number of active ctags processes was already limited to well under 1000.

This is an attempt to fix an issue where symbol parsing fails with:

runtime: failed to create new OS thread (have 52 already; errno=12)

The hypothesis is that this is due to heavy system load caused by the ctags parsers. New goroutines were not able to be spawned and mapped to an OS thread due to the overall high system load.

address https://github.com/sourcegraph/enterprise/issues/12796

Merge request reports

Loading