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
{{ message }}
Repository navigation
RedisOnlineStore missing async_supported property - server never uses async Redis path #6437
RedisOnlineStore implements full async support (online_read_async, online_write_batch_async, _get_client_async using redis.asyncio), but does not override the async_supported property from the base OnlineStore class. The default returns SupportedAsyncMethods(read=False, write=False), so the feature server never uses the async path.
Impact
In feature_server.py, the online read dispatch checks this property:
Because async_supported.online.read is False for Redis, every request goes through run_in_threadpool(sync) instead of await get_online_features_async(). This means:
No non-blocking I/O — sync Redis calls block a thread from the threadpool instead of using redis.asyncio non-blocking pipeline No parallel FeatureView reads — the base class get_online_features_async uses asyncio.gather() to query all FeatureViews concurrently, but the sync path reads them sequentially Thread pool pressure — under concurrent load, the threadpool becomes a bottleneck since each request occupies a thread for the duration of the Redis call
DynamoDB and MongoDB already declare async_supported:
Activity