fix(galaxy): #875 Galaxy initialize gets a 20 s budget via per-driver-type capability defaults
Gate F (#761) against the VD03 gateway: Galaxy initialize (session open + platform seed) took 4–5 s against Tier A's 5 s Initialize timeout, so 10 of 40 restarts failed, paid a 10 s retry and left a killed gateway worker. DriverFactoryRegistry.Register takes optional capabilityDefaults per driver type (GetCapabilityDefaults); DriverResilienceOptionsParser layers them over the tier table and under the per-instance ResilienceConfig; the Host wires the registry into DriverCapabilityInvokerFactory. Galaxy registers Initialize = 20 s (no retry, breaker 2), under the actor's 30 s pessimistic bound. Claude-Session: https://claude.ai/code/session_01GT67AD99zQQqpLCVm3p7xk
This commit is contained in:
@@ -134,7 +134,12 @@ following this note. `DriverResilienceOptions.GetTierDefaults(tier)` supplies
|
||||
the real per-capability timeout / retry / breaker policies, resolved via
|
||||
`DriverFactoryRegistry.GetTier` and applied by `DriverCapabilityInvokerFactory`.
|
||||
Every driver runs Tier A because no factory passes a tier, so today that means
|
||||
one uniform policy set.
|
||||
one uniform policy set — except where a driver type registers **capability
|
||||
defaults** with its factory (`DriverFactoryRegistry.Register(...,
|
||||
capabilityDefaults:)`, read back by `GetCapabilityDefaults`). Those layer over
|
||||
the tier table and under any per-instance `ResilienceConfig`. Galaxy registers
|
||||
`Initialize` = 20 s (#875): its session open plus platform seed took 4–5 s
|
||||
against a real gateway, so Tier A's 5 s failed a quarter of restarts.
|
||||
|
||||
`IDriver` **no longer carries `GetMemoryFootprint()` or
|
||||
`FlushOptionalCachesAsync()`** (Gitea **#525**). They existed to feed
|
||||
|
||||
Reference in New Issue
Block a user