openllb / hlb

A developer-first language to build and test any software efficiently
https://openllb.github.io/hlb/
Apache License 2.0
108 stars 12 forks source link

Temporarily disable async register setting #321

Closed aaronlehmann closed 2 years ago

aaronlehmann commented 2 years ago

We've been seeing problems that appear to be tied to the new async ref resolution behavior. Some complex build graphs spawn thousands of goroutines, use large amounts of memory, and get stuck contending on the build concurrency limit. Unfortunately, we haven't been able to come up with a repro case so far. My hunch is that maybe the asynchronous behavior bypasses some important caching and causes a complexity explosion (or there is some other bug causing the symptoms...).

Unless someone is interested in digging into this further, my proposal is to disable asynchronous register setting for now to fix HLB master. I'm planning to test this PR, and if I confirm it solves the problem, we can consider merging it.

aaronlehmann commented 2 years ago

This didn't seem to fix the problem; I suspect something else broke in recent HLB commits that's not strictly related to setting registers asynchronously.