Forum Discussion
K-Dubb
Nimbostratus
Sep 30, 2013HTTP:Retry and LB:Reselect not working as expected.
Hello, We are using ASP.net Session state via SQL server behind our BIGIP Version 10.2.4. Session state is working great. We do not want the user to ever see a service unavailable. We tried setti...
StephanManthey
Nacreous
Oct 03, 2013This one works a bit better with cookie persistence (plain OneConnect applied). But it still does a couple of reselects even it got a proper response, so I´m not fully happy yet.
Need to investigate a bit more (and build in a cookie decoding routine), but as I´m a freelancer I need to allocate time for it (hope for your understanding).when CLIENT_ACCEPTED {
set retry 0
set reselect 0
set default_pool [LB::server pool]
}
when HTTP_REQUEST {
if { ([HTTP::method] eq "GET") && ($retry == 0) } {
set request_headers [HTTP::request]
log local0. "Current retries of $retry for [HTTP::uri]"
} elseif { ([HTTP::method] eq "GET") && ($retry > 0) } {
persist none
}
}
when LB_SELECTED {
if { ($retry > 0) && ($reselect ==1) } {
log local0. "Re-loadbalancing to [LB::server] retries $retry [HTTP::uri]"
LB::reselect pool $default_pool
}
}
when HTTP_RESPONSE {
if { [HTTP::status] starts_with "5" } {
LB::down
set reselect 1
incr retry
log local0. "5xx error caught: retry $retry out of [active_members $default_pool]"
if { $retry < [active_members $default_pool] } {
log local0. "will retry now"
HTTP::retry $request_headers
return
}
} else {
persist cookie
set retry 0
set reselect 0
}
}
Help guide the future of your DevCentral Community!
What tools do you use to collaborate? (1min - anonymous)Recent Discussions
Related Content
DevCentral Quicklinks
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com
Discover DevCentral Connects
