fix(kiloclaw): omit ord from Fly region list due to provisioning issues#1090
fix(kiloclaw): omit ord from Fly region list due to provisioning issues#1090
Conversation
| export const DEFAULT_FLY_REGION = 'us,eu'; | ||
| * Callers shuffle before selecting so order here doesn't matter. | ||
| * ord omitted due to provisioning issues. */ | ||
| export const DEFAULT_FLY_REGION = 'dfw,ewr,iad,lax,sjc,eu'; |
There was a problem hiding this comment.
WARNING: eu remains an invalid volume fallback target
ensureVolume() and the 412 recovery path pass this list straight into createVolumeWithFallback(), and that helper explicitly expects concrete Fly region codes for volume creation. Leaving eu here means the fallback still throws as soon as it reaches the Europe entry instead of provisioning in an actual EU region.
| "FLY_ORG_SLUG": "kilo-679", // Org for creating per-user Fly apps | ||
| "FLY_IMAGE_TAG": "latest", | ||
| "FLY_REGION": "us,eu", | ||
| "FLY_REGION": "dfw,ewr,iad,lax,sjc,eu", |
There was a problem hiding this comment.
WARNING: eu can still break fresh provisioning here
New volume placement shuffles FLY_REGION before calling createVolumeWithFallback(), which only supports concrete region codes. Because eu can end up first in the shuffled list, fresh provisions can fail immediately with an invalid-region error before any valid region is tried.
Code Review SummaryStatus: 1 Issues Found | Recommendation: Address before merge Overview
Issue Details (click to expand)WARNING
Fix these issues in Kilo Cloud Other Observations (not in diff)N/A Files Reviewed (4 files)
Reviewed by gpt-5.4-20260305 · 559,390 tokens |
…1059) With explicit region codes instead of the 'us' alias, deprioritizeRegion can now correctly match concrete regions (e.g. 'iad') against the list. The original bug — meta-region 'us' never matching concrete region codes — no longer applies.
| expect(regions412Call[2]).toEqual(['eu', 'us']); | ||
| // Regions are shuffled, so just check the set (deprioritize is a no-op here | ||
| // because 'iad' is not in FLY_REGION='dfw,ewr,iad,lax,sjc,eu') | ||
| expect((regions412Call[2] as string[]).sort()).toEqual([ |
There was a problem hiding this comment.
WARNING: This assertion no longer verifies the recovery ordering
Sorting regions412Call[2] turns the check into a pure set comparison, so the test still passes if deprioritizeRegion() stops moving the failed region to the end and recovery retries the constrained host first. Because this change is specifically about ordering, the assertion should verify the failed region's position instead of sorting it away.
Summary
usgeographic alias inFLY_REGIONwith explicit US regions (dfw,ewr,iad,lax,sjc) to excludeord, which is experiencing provisioning failures. Updatedwrangler.jsonc(production config),DEFAULT_FLY_REGIONinconfig.ts, and corresponding test assertions.usalias,deprioritizeRegioncan now correctly match concrete regions (e.g.iad) against the list — the original bug where meta-regionusnever matched concrete codes no longer applies. RestoresshuffleRegions+deprioritizeRegioninreplaceStrandedVolume.Verification
pnpm test— all 596 tests pass (kiloclaw)Visual Changes
N/A
Reviewer Notes
This is a workaround to stop provisioning attempts in
ord. Once the region is healthy again, we can addordback to the explicit list. The revert of #1059 is safe because the root cause (meta-regionusnot matching concrete region codes likeord) is eliminated by switching to explicit region codes.