KB-14 Suspected, not reproduced
A transient read error can restart the health deadline of a resource
Behavior#
When the observer cannot read a resource (a transient error, NotFound or a mapping error),
it sets the state Unknown and writes no firstUnhealthy time for that resource.
Effect#
The time at which the resource became unhealthy can be lost. The deadline then counts again from
a later time, so Degraded, and a rollout failure, can come later than spec.healthAssessment.deadline.
Workaround#
None known.
Fix direction#
Keep the stored firstUnhealthy time when the state is Unknown.
In the code
convoy v0.9.0
internal/observer.(*HealthController).assessIteminternal/observer/health.go:415