Skip to content

test(push): distinguish batch transfer failures from lifecycle errors - #51

Merged
LucaLin233 merged 6 commits into
mainfrom
luno/test-push-batch-failure-diagnostics
Sep 8, 2026
Merged

LucaLin233 merged 6 commits into
mainfrom
luno/test-push-batch-failure-diagnostics

Conversation

@LucaLin233

Copy link
Copy Markdown
Owner

Evidence

Main run 34237080747 failed Debian: partial-server case returned lifecycle failure but assert_fail accepted it; following batch hit stale barrier and failed accounting. Root cause not established.

Scope

Only tests/test-push.sh. Based on main 6e24bcb. Require exact ordinary failure status 1 and false lifecycle/accounting flags; require both unrelated successful servers complete. On failure report only Bash version, status and lifecycle maps, no credential variables. No production code changes, state resets, relaxed checks, retries or timeout increases.

Validation

Existing selection automatically runs test-push.sh. CI pending. No local behavioral tests or production execution, no credentials supplied to tests. Keep #47 blocked regardless of a non-reproducing run. Follow existing continuous investigation authorization; merge still requires explicit approval.

Rollback

Revert this test change. A passing diagnostic run does not prove root cause fixed.

@LucaLin233

Copy link
Copy Markdown
Owner Author

Bounded investigation checkpoint: HEAD 4e54088 passed both environments in run 34242677189. Eight consecutive partial/all-failure pairs per environment, no lifecycle resets, exact status assertions; no failing boundary observed. This exhausts the current fixed repetition budget, not proof of root cause or authorization to merge #47. Next work must improve causal observability or construct a controlled interleaving rather than raise repetition counts. Production code remains unchanged. The 90-second check is between rounds; existing per-transfer and job limits remain the hard bounds.

@LucaLin233

Copy link
Copy Markdown
Owner Author

Post-#52 validation and self-review

Base: d776297. Updated through a normal merge; HEAD: 0fb9a70.

CI: https://github.com/LucaLin233/Linux/actions/runs/34249483414 — both Ubuntu 24.04 and Debian 13 passed full=true, 10 suites each. Both environments completed all eight consecutive partial/all-failure rounds with exact ordinary status 1 and clear lifecycle/error flags. No barrier reset or retry-to-green was introduced. Main post-#52 run 34248695868 also passed both full suites.

Self-review: complete base-relative diff remains two files, +39/-2, tests and investigation documentation only. git diff --check and bash -n passed. Production call stacks remain unchanged. The 90-second probe budget is checked between rounds, not a hard timeout. Existing per-job timeout remains 15 minutes; Ubuntu completed near that limit.

The original main failure in run 34237080747 remains unexplained. The logs establish that the partial batch stopped before scheduling good2, but do not identify the first internal failing boundary. These green results do not establish a causal fix, nor a connection between that batch failure and the HUP parser defect. No speculative production change is justified.

This PR is suitable only as a diagnostic/assertion improvement, not as a bug-fix claim or permission to unblock PR #47. Merge remains subject to explicit user confirmation. Rollback: revert the eventual diagnostic squash commit through a separate PR; no production behavior or data migration is involved.

@LucaLin233
LucaLin233 marked this pull request as ready for review September 8, 2026 16:31
@LucaLin233
LucaLin233 merged commit dc58996 into main Sep 8, 2026
2 checks passed
@LucaLin233
LucaLin233 deleted the luno/test-push-batch-failure-diagnostics branch September 8, 2026 16:31
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