fix(honua-gp): type results gone after success as missing_output; pin 548b7a5 - #241
Merged
Merged
Conversation
… 548b7a5
A job that succeeded but whose /jobs/{id}/results fetch answered 404/410
raised ExecuteError with error_kind "HonuaHttpError" (the transport class
name). submit_and_wait now raises error_kind "missing_output" with the HTTP
error as cause; other results errors still propagate.
On honua-server 548b7a5 the terminal job record lives a fixed 7 days in
Redis and expired result packages are re-synthesized from it
(honua-server#4888), so the live proof deletes a real successful job's
record (HONUA_GP_LIVE_REDIS) instead of waiting for expiry. A prior output
stays bound to its own result; a new name stays unbound.
The pinned ephemeral-server-smoke identity moves to the re-pinned 2026.1
candidate (honua-release #349): 548b7a5, sha256:29974ee7.
Closes #226
mikemcdougall
had a problem deploying
to
staging
September 15, 2026 00:49 — with
GitHub Actions
Failure
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This is the #226 replay on the re-pinned 2026.1 candidate: honua-release #349, honua-server
548b7a5263da5a3f2381eb43f232687cdf92b0bf, AOT imagesha256:29974ee7b722e3ae15c3b891024e5e70800f412188aeccf5ec3d32d9dac675c1. It covers the criteria #227/#240 had released.ExecuteError(error_kind="HonuaHttpError"), the transport class name.submit_and_waitnow raiseserror_kind="missing_output"with the HTTP error as its cause. Other results errors (403, 500, connection) propagate unchanged.test_results_gone_after_success_are_a_typed_missing_outputruns two real Buffer jobs tosuccessful. It deletes each job's record from the server's Redis, then lets honua_gp read the results. Both calls raisemissing_outputwith a 404 cause. The priorgp226_loststays bound to its own result (count and coverage re-checked against the raw FeatureServer points), andgp226_lost_newstays unresolvable rather than reading layer 0. The earlier unknown-job-id check now also assertsmissing_output.ephemeral-server-smokemoves from 7ba4226 to the new candidate, with image and seed revision updated together.Why results-gone is shown by removing the job record
On 548b7a5, results cannot expire inside a test. I verified this live with
Geoprocessing__Executors__ResultRetention=00:01:00:TTL controlplane:job:{id}= 604579.RedisExecutionJobStorehard-codes 7 days for terminal job records.TTL controlplane:job:gp-result:{id}= 22. Every results read re-synthesizes the package from the record.Deleting the record produces exactly the state expiry or store loss leaves: the server answers 404 no-such-job for a job that reported
successful. The server-side retention gap is filed as honua-io/honua-server#4888. Dismissing a terminal job is still 409.Evidence
All runs were against a fresh
docker/client-compatstack from 548b7a5 on the pinned digest (image revision label548b7a5…), with default retention and seededtest_service/0(10 rows) plus the SpatialJoin layer.Installed consumer. Non-editable wheels were built from this branch and installed in a fresh venv:
honua_gp-0.1.0sha256aa4a4377…honua_sdk-0.1.11sha256f7214478…honua_admin-0.1.8sha256685e6cf4…From a directory outside the source tree (module file under site-packages),
test_output_binding_live.pypassed 7/7: Buffer→GetCount/SearchCursor→Dissolve, the Buffer→Dissolve chain, Project/Mercator, empty output, failed and cancelled overwrites, no layer-0 fallback, and results gone after success.Trunk wheels on the same pin. The 6 existing live tests pass 6/6. A store-loss probe on trunk code raised
error_kind="HonuaHttpError", which is the negative control for the new assertion.Live eval. 52/52, supported 27/27 (
--require-supported-pass-rate 1.0).Unit tests.
packages/honua-gp/tests317 passed, 11 skipped; the skips are live-only.ruff check .is clean.Acceptance criteria (#226)
Closes #226