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
The activator should activate the revision the request is intended for.
Actual Behavior
The Route's VirtualSerivce appends headers on to the request (knative-serving-revision, knative-serving-configuration and knative-serving-namespace) which are then used by the activator to activate the appropriate service. Because the VirtualService appends these header values, and the activator uses the first header value, any existing header will confuse the activator into scaling the wrong revision.
Headers set by the VirtualService should be considered informative, but not authoritative.
Steps to Reproduce the Problem
create a Service that forwards a request with headers to another Service
wait for both Services to scale to zero
make a request to the first Service. The first service will activate, but the second service will never activate
While the activator receives the request for the second service, it does not attempt to activate the revision the request is actually for.
Expected Behavior
The activator should activate the revision the request is intended for.
Actual Behavior
The Route's VirtualSerivce appends headers on to the request (
knative-serving-revision
,knative-serving-configuration
andknative-serving-namespace
) which are then used by the activator to activate the appropriate service. Because the VirtualService appends these header values, and the activator uses the first header value, any existing header will confuse the activator into scaling the wrong revision.Headers set by the VirtualService should be considered informative, but not authoritative.
Steps to Reproduce the Problem
While the activator receives the request for the second service, it does not attempt to activate the revision the request is actually for.
Additional Info
This issue discovered while debugging multiple functions chained together by eventing channels. The
knative-*
header prefix is also used in eventing. While eventing needs to be smarter about how it captures and forwards request headers, this bug is exposed beyond the eventing use case.The text was updated successfully, but these errors were encountered: