Forum Discussion
transmission_co
Jul 20, 2007Historic F5 Account
Help with IP::idle_timeout
If one would like to change the idle timeout for a given connection - say, after a database query that is known to take 20 minutes - can IP::idle_timeout accomplish this?
I have tried adapting the code in the example. My rule runs; however LTM still deletes the connection and emits resets after the idle timeout specified in the associated TCP profile.
Perhaps I misunderstand this description:
Description
Returns the idle timeout value, or specifies an idle timeout value as the criteria for selecting the pool to which you want the BIG-IP system to send traffic.
Intuitively I imagine this iRule command could change the idle timeout for the relevant connection; and the below example reads like it might have that effect. But the above description speaks of selecting a pool.
Thank you for help understanding IP::idle_timeout or any alternate idea.
----------
http://devcentral.f5.com/Wiki/default.aspx/iRules/IP__idle_timeout.html
when HTTP_REQUEST {
if {[HTTP::uri] starts_with "portal" } {
IP::idle_timeout 3600
}
}
8 Replies
- Doug_104170
Nimbostratus
Hi, - hoolio
Cirrostratus
Hi Doug,when HTTP_REQUEST { if {$some_condition == 1}{ log local0. "original timeout: [IP::idle_timeout]" IP::idle_timeout 1801 log local0. "updated timeout: [IP::idle_timeout]" set update_serverside_idle_timeout 1 } } when SERVER_CONNECTED { log local0. "original timeout: [IP::idle_timeout]" if {$update_serverside_idle_timeout}{ IP::idle_timeout 1802 log local0. "updated timeout: [IP::idle_timeout]" } }
- Doug_104170
Nimbostratus
Aaron, - hoolio
Cirrostratus
Local variables are valid only for the TCP connection. They are persisted throughout the TCP connection, so that a variable set for one HTTP request will be available (and modifiable) in subsequent requests on the same TCP connection. - Doug_104170
Nimbostratus
Pipelining isn't what I'm seeing. Two separate people (let's call them Bob and Joe) are making the requests from two different sources at the same time and each match two different conditions in the iRule, only one of which needs the timeout changed. So, connection 2 is stomping on connection 1. The $update_serverside_idle_timeout variable is the "same" between the two. I'd expect there to be one $update_serverside_idle_timeout variable for Bob's session, and another $update_serverside_idle_timeout variable for Joe's session. - hoolio
Cirrostratus
Ah... that makes a bit more sense. If it's two separate TCP connections, then I assume the issue is that the idle timeout set by IP::idle_timeout isn't connection specific. Can anyone confirm/deny this? - IheartF5_45022
Nacreous
Help...I'd like to know the answer to this too!! maybe it makes sense that it's not connection specific otherwise it would be TCP::idle_timeout? Anyway - would really like an informed response on the exact behaviour. - hoolio
Cirrostratus
Hi Joanna,
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