Expected Behavior
Serving should report correct readiness check even if there are no request coming in.
Current Behavior
If there is no request coming in to serving the ConnectivityState to Core become ConnectivityState.IDLE after 30 minutes. The readiness check currently only consider serving to be ready when ConnectivityState to core is in ConnectivityState.READY.
The Pod is still considered READY though since connectivity to core will return to ConnectivityState.READY in subsequent readiness check, unless readinessProbe. failureThreshold is set to 1 (default is 3)
Steps to reproduce
Run Feast and let it idle for more than 30 minutes. Serving pod will produce following error log every 30 minutes:
2019-04-20 17:00:10.686 ERROR feast-serving-758cc48bb5-l74r6 --- [nio-8080-exec-6] f.s.h.HealthHttpService : not ready: unable to connect to core service
2019-04-20 17:30:20.686 ERROR feast-serving-758cc48bb5-l74r6 --- [nio-8080-exec-8] f.s.h.HealthHttpService : not ready: unable to connect to core service
Specifications
- Version: 0.1.0, 0.1.1
- Subsystem: serving
Possible Solution
Consider ConnectivityState.IDLE as ready state.
Expected Behavior
Serving should report correct readiness check even if there are no request coming in.
Current Behavior
If there is no request coming in to serving the
ConnectivityStateto Core becomeConnectivityState.IDLEafter 30 minutes. The readiness check currently only consider serving to be ready whenConnectivityStateto core is inConnectivityState.READY.The Pod is still considered READY though since connectivity to core will return to
ConnectivityState.READYin subsequent readiness check, unlessreadinessProbe. failureThresholdis set to 1 (default is 3)Steps to reproduce
Run Feast and let it idle for more than 30 minutes. Serving pod will produce following error log every 30 minutes:
Specifications
Possible Solution
Consider
ConnectivityState.IDLEas ready state.