Repository navigation
Conversation
A compiler id the routing table does not know, such as a stale bookmark or a renamed compiler, used to fall through to the default queue. A worker then failed to find it and the caller got a 200 that looked like a failed compile. The router now answers it with 404 before subscribing or queueing, as the compilation endpoint does when it is served directly. The miss is cached for 60s rather than forever, and /admin/clear-cache drops it. A DynamoDB error is not a miss: that still falls back to the queue. Fixes #12 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Fixes #12.
A compiler id missing from the routing table, such as a stale bookmark or a renamed compiler, used to fall through to the default queue. A worker then failed with
Compiler with ID … not found, and the caller got a 200 withcode: -1. Now the router answers it with a 404 before subscribing to results or queueing anything. The compilation endpoint does the same when it is served directly.lookupCompilerRoutingreturnsnullwhen neither the composite key nor the legacy key has a row./admin/clear-cachedrops it.On the fail-closed concern in the issue: the deploy writes the routing table in Step 6, while the ~20-second colour switch is still propagating, and Step 6.5 clears the router caches. So a compiler added in a deploy has its row before users can reliably reach it.
On
language undefined: the router already passeslangthrough when the client sends it, in the body or as a query parameter. The worker searches every language whenlangis missing, so only the wording of that error message is misleading.Tests
null, a DynamoDB error still queues, a cached miss expires after its TTL, and a cache clear forgets it.build/:buildSystemroutes each return 404 without queueing, even when subscribing would have failed.🤖 Generated with Claude Code