You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
refactor: Make the async readiness gate awaitable end-to-end
Addresses review feedback on the interim warm-start refresh. The async
readiness path is now awaitable at every layer instead of a private
two-step refresh feeding a synchronous gate:
- AsyncDataSystem.data_availability and AsyncLDClient.is_initialized()
become coroutines; the eval path awaits data_availability() directly.
- AsyncFeatureStore gains an abstract async is_initialized(); the
getattr duck-type is dropped, so a custom store that omits it fails
at construction instead of silently serving DEFAULTS forever.
- The warm-start store error is caught inside data_availability and
degrades to DEFAULTS, so evaluation never propagates a store error.
- Removes the interim refresh_availability, cold-path gating, and
start-time refresh, which are subsumed by the awaitable gate.
- Adds a per-iteration stop-event check in the synchronizer loop so a
perpetually-ready queue cannot starve the stop signal.
The sync data system is unchanged.
log.warning("Feature Flag evaluation attempted before client has initialized - using last known values from feature store for feature key: "+key)
506
500
else:
507
501
log.warning("Feature Flag evaluation attempted before client has initialized! Feature store unavailable - returning default: "+str(default) +" for feature key: "+key)
0 commit comments