Closed Groxx closed 1 year ago
Files with Coverage Reduction | New Missed Lines | % | ||
---|---|---|---|---|
internal/internal_task_pollers.go | 2 | 81.64% | ||
<!-- | Total: | 2 | --> |
Totals | |
---|---|
Change from base Build 2db1895d-7a68-425d-b16f-1dd9cce48c62: | 0.1% |
Covered Lines: | 12399 |
Relevant Lines: | 19441 |
I'm not sure this diff description matches? This looks like the workflow refresh code
Hum. I wonder if I pushed the wrong branch or something.
Will fix.
gonna just close this one - it's still reasonable, but it's also not hard to rebuild.
Workflow goroutines are shut down concurrently, which can lead to race conditions and crashes. This is an attempt to make them less likely to terminate the hosting process, specifically due to concurrent map writes and reads.
We unambiguously need to fix the underlying issue, but that is substantially more complicated and we're unfortunately pretty busy.
1ms is likely overkill, but even 1us is almost certainly insufficient. There can be non-trivial behavior in deferred functions.
Still, this 1ms is a wild guess, it can be changed or made configurable and it'll likely be fine.
An example stacktrace that this hopefully helps with looks like:
We have seen both panics on that decisions map and panics in
cancelCtx
'schildren
map. There are likely others though, and this can also occur in user's code as this violates a core piece of our execution model.