Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Activator can activate the wrong Service #2046

Closed
scothis opened this issue Sep 17, 2018 · 0 comments
Closed

Activator can activate the wrong Service #2046

scothis opened this issue Sep 17, 2018 · 0 comments
Labels
area/autoscale area/networking kind/bug Categorizes issue or PR as related to a bug.

Comments

@scothis
Copy link
Contributor

scothis commented Sep 17, 2018

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 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

  1. create a Service that forwards a request with headers to another Service
  2. wait for both Services to scale to zero
  3. 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.

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/autoscale area/networking kind/bug Categorizes issue or PR as related to a bug.
Projects
None yet
Development

No branches or pull requests

2 participants