Conversation
|
Very strange, still seeing random build errors with internal module tests. Maybe this is due to some kind of caching in the pipeline? |
|
It looks like internal test compilation will sometimes fail since the modules are not aware that we are using CGO, but just importing C in the modules fixes compilation. Something to be aware of. |
internal/backoff/backoff.go
Outdated
| "time" | ||
| ) | ||
|
|
||
| type ExponentialBackoff struct { |
There was a problem hiding this comment.
Would it have any benefit to rely on a library such as https://pkg.go.dev/github.com/cenkalti/backoff/v5 ?
There was a problem hiding this comment.
Probably not, this little code is likely easier to maintain than the dependency.
TBH we could probably just remove the backoff and return an error immediately if startup fails. In the past, it would also fail on restart but that logic has since been removed (after complaints).
Workers randomly (and expectedly?) failing on startup is probably something that should be handled by a supervisor, not by us.
There was a problem hiding this comment.
see #1970 for the solution without backoff
|
Apparently the mac os runners are getting deprecated actions/runner-images#13046 |
|
They already tend to never pick up queued jobs. I've created a PR in the homebrew repo, but forgot about our CI here. Should be enough to change macos-13 to macos-15-intel. |
* removes backoff. * Adjusts comment. * Suggestions by @dunglas * Removes 'max_consecutive_failures' * Removes 'max_consecutive_failures' * Adjusts warning. * Disables the logger in tests. * Revert "Adjusts warning." This reverts commit e93a6a9. * Revert "Removes 'max_consecutive_failures'" This reverts commit ba28ea0. * Revert "Removes 'max_consecutive_failures'" This reverts commit 32e649c. * Only fails on max failures again. * Restores failure timings.
# Conflicts: # phpmainthread_test.go
# Conflicts: # phpthread.go # threadinactive.go # threadregular.go # threadworker.go # worker.go
# Conflicts: # phpmainthread_test.go # threadregular.go
|
Ignore static binary failures, spc PR is already open. |
|
This one is gonna create a few merge conflicts 😅 |
This refactor moves
state.goandbackoff.goto their own internal modules, freeing up the main module.It also cleans up some unused C structs/functions and changes it so the thread-local
is_worker_threadgets set once before going ready, instead of on each request_info update.