Skip to content

fix: let cron retry the failure shapes minato has - #49

Merged
Taure merged 1 commit into
mainfrom
fix/cron-retry-shapes
Aug 5, 2026
Merged

fix: let cron retry the failure shapes minato has#49
Taure merged 1 commit into
mainfrom
fix/cron-retry-shapes

Conversation

@Taure

@Taure Taure commented Aug 5, 2026

Copy link
Copy Markdown
Owner

The guard on shigoto_cron's leader lock caught exit:{noproc, _} — what a missing pgo pool did. minato doesn't exit: a pool process that isn't there answers {error, {no_pool, _}}, which shigoto_db turns into an error, and a pool that exists but can't reach the database raises too.

So after the swap, a cron process starting before its database crashed instead of coming back in a second — and the catch-up went with it. All three shapes are caught now; the exit clause stays, since a checkout against a pool that was never started still exits.

Supersedes #24, which added this guard for pgo's shape and was 17 commits behind a tree that no longer has pgo in it.

Local: core 27, eunit 82, fmt clean.

The guard caught exit:{noproc, _}, which is what a missing pgo pool did. minato
does not exit: a pool process that is not there answers {error, {no_pool, _}}
and shigoto_db turns that into an error, and a pool that exists but cannot reach
the database raises too. Neither was caught, so a cron process starting before
its database crashed instead of coming back in a second, and the catch up went
with it.

All three shapes are caught now. The exit clause stays: a pool that is not
started at all still exits from the checkout call.
@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown

🟠 Code Coverage — 57.4%

1015 of 1769 lines covered.


🟡 ELP Lint — 1 warning

1 diagnostic found. See job logs for details.


ℹ️ 11 OTP CVEs auto-ignored (already fixed in running version)

These CVEs are patched in the installed OTP version but NVD data
has not been updated to reflect this. They are excluded from the
scan via an auto-generated .trivyignore.

CVE Details
CVE-2026-23943 Fixed in 28.4.1, running 28.4.1 — Pre-auth SSH DoS via unbounded zlib inflate
CVE-2026-23942 Fixed in 28.4.1, running 28.4.1 — SFTP root escape via component-agnostic prefix check in ssh_sftpd
CVE-2026-23941 Fixed in 28.4.1, running 28.4.1 — Request smuggling via first-wins Content-Length parsing in inets httpd
CVE-2026-21620 Fixed in 28.3.2, running 28.4.1 — TFTP Path Traversal
CVE-2016-1000107 Fixed in 28.0.4, running 28.4.1 — Httpd CGI Scripts Environment Variable Pollution AKA "httpoxy"
CVE-2025-58050 Fixed in 28.0.3, running 28.4.1 — Buffer Read Overflow on Regular Expressions with (*scs:) and (*ACCEPT)
CVE-2025-48038 Fixed in 28.0.3, running 28.4.1 — SSH Unverified File Handles can Cause Excessive Use of System Resources
CVE-2025-48039 Fixed in 28.0.3, running 28.4.1 — SSH Unverified Paths can Cause Excessive Use of System Resources
CVE-2025-48040 Fixed in 28.0.3, running 28.4.1 — SSH Malicious Key Exchange Messages may Lead to Excessive Resource Consumption
CVE-2025-48041 Fixed in 28.0.3, running 28.4.1 — SSH_FXP_OPENDIR may Lead to Exhaustion of File Handles
CVE-2025-4748 Fixed in 28.0.1, running 28.4.1 — Absolute Path in Zip Module

@Taure
Taure merged commit a028735 into main Aug 5, 2026
17 checks passed
@Taure
Taure deleted the fix/cron-retry-shapes branch August 5, 2026 21:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant