Forum Discussion
Eric_Waite_1046
Nimbostratus
Jan 11, 2007iRule help
I am having the same problem with persistence on the following iRules.... I am currently using the first of the two.
The application I am working on is an applet program. The applet sessions on the server timeout in 60 minutes. For some reason, sometimes one of my reqests does not stick, and it is persisted to the wrong server. This causes my applet application to Have a SessionExpired exception.
I am working with f5 customer support and they have not come up with anything in the TCPdumps yet.
Is the following the correct way to set to > 60 minutes for the entry to stay in the persistence table ...?
Does anyone have any thoughts or suggestions, I am really stuck.
Thanks in advance...
- Eric
when HTTP_RESPONSE {
log ""
log ""
log "RESPONSE"
if { [HTTP::cookie exists "JID"] } {
set resPers [HTTP::cookie "JID"]
log "lookup for $resPers in table = >[persist lookup uie $resPers]<"
if { [persist lookup uie $resPers] equals "" } {
persist add uie $resPers 3700
log "added response entry *$resPers* for server [LB::server addr]"
} else {
log "continued sessionId *$resPers* for server [LB::server addr]"
}
}
}
when HTTP_REQUEST {
log "1 REQUEST: [HTTP::uri]"
set jsess [findstr [HTTP::uri] "jsessionid" 11 "?"]
log "2 $jsess"
if { $jsess != "" } {
persist uie $jsess 3700
log "used URI value is *$jsess*, FOUND->[persist lookup uie $jsess]"
}
}2 Replies
- Pavel_Sestak_69
Nimbostratus
I've had similar problem regarding redirecting the traffic based on URI and we've observed, that sometimes there is problem with set command, which does not fill the variable...
I would suggest to try to relace theif { [persist lookup uie $resPers] equals "" } {
withif { [persist lookup uie [HTTP::cookie "JID"]] equals "" } {
and see if the problem persists. At my own scenario, set failed to fill the variable with [LB::status] at HTTP_REQUEST event and later condition failed as the variable was empty. This could be the same as if the $resPers is empty, You are adding new persistency record. - dennypayne
Employee
It could also be your TCP idle timeout (set in the TCP profile that's applied to the virtual server). The default on that is 300 seconds, so ensure that you have lengthened that as well.
Denny
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
