-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
fix: the traffic-split plugin is invalid to bind upstream via upstream_id #3758
Conversation
…s` has a structure with only `weight`
After apply this change:
many test cases are failed. Look like |
yes, according to my understanding, I think the design idea of take a look at apisix/apisix/plugins/traffic-split.lua Lines 322 to 323 in 6cbaf55
|
There should be a way to do the same thing without corrupting the data. Otherwise once the cache is evicted we will be in trouble. |
This PR does not do this work. If needed, we should open another issue to discuss it, as it would involve refactoring the plugin's implementation logic. |
What this PR does / why we need it:
fix: #3740
Pre-submission checklist:
the cause of the bug reference: #3740 (comment)
this change temporarily stores the route'supstream_id
in thematched_route
table. If the current requestmatch
fails and the temporarily storedupstream_id
exists in thematched_route
table, the route'supstream_id
is restored to the temporarily storedupstream_id
.when the
route
is configured with anupstream_id
, theupstream_id
is passed into theserver_list
.