Skip to content

[0.9.0] Bound cron-init jobs and scheduler I/O - #153

Merged
sciabarracom merged 1 commit into
apache:0.9.0from
miki3421:fix/cron-init-bounds-090
Oct 26, 2026
Merged

sciabarracom merged 1 commit into
apache:0.9.0from
miki3421:fix/cron-init-bounds-090

Conversation

@miki3421

Copy link
Copy Markdown
Contributor

When CouchDB or the Controller stalls, cron-init can leave Jobs active indefinitely while new scans keep starting. This change bounds each Job and its HTTP/pagination work, reports failures through the process exit code, and rejects incomplete scans before dispatching actions.

Related to apache/openserverless#280.

  • Keep concurrencyPolicy: Allow; add a 120-second Job deadline, resource requests/limits, restartPolicy: Never and backoffLimit: 0.
  • Bound HTTP waits and scan time, pages, documents and response sizes; reject missing, repeated or cyclic pagination bookmarks. Strict CouchDB behavior is opt-in for the scheduler.
  • Preserve per-action error isolation and report invocation/autoexec update failures. Do not automatically retry invocation POSTs or replay the whole batch.

This is a containment fix. It does not prevent duplicate invocations, recover missed executions, or provide exactly-once delivery. Allow can still overlap scans. The current time-window and autoexec semantics remain best effort; durable catch-up and idempotent acceptance require separate work. Read timeouts bound inactivity; the Job deadline is the final bound for a slow trickling response. Existing Jobs do not inherit the new settings.

Validation: 102 local tests and executor doctests passed; 27 focused tests per candidate image passed. Baseline and ADV each passed 13 real-process HTTP fault/control scenarios, Kubernetes deadlines for Running and unschedulable Pending Pods, and Allow-overlap checks. Real synthetic Alpha/Beta actions covered multi-page scans, periodic execution, autoexec and not-due actions; each environment also passed 15 application checks with zero load errors. Temporary test resources were removed. Laboratory overlays preserved their existing CouchDB authentication and ADV-specific helpers.

@sciabarracom
sciabarracom merged commit d8b9322 into apache:0.9.0 Oct 26, 2026
1 check passed
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.

3 participants