Aaron,
Thank you for the config; it clears up a lot. But, one piece of information was not supplied to you: the iRule is being hit many times per second with overlapping connections matching different conditions, most of which do not need the timeout updated.
After implementing the above on my system I got an error "no such variable" in the when SERVER_CONNECTED tries to read the value. Figuring it was a scoping issue, I added "set update_serverside_idle_timeout 0" to the beginning of the "when HTTP_REQUEST" and the error went away.
But, here's what happens:
1. Initial request hits {$some_condition == 1} and the variable is set.
2. A second request comes in (before the 1st request reaches the SERVER_CONNECTED event) and the variable is set back to 0. But since this request is triggering the same iRule but doesn't match the same condition the timeout is not updated.
3. The SERVER_CONNECTED event is reached for the 1st request. Now that the variable was set back to 0 because of the 2nd request, the timeout is not updated.
So, being new to iRules and TCL in general, can the variable be scoped so it's available to both events and be limited to an instantiation of an iRule?
Thank you,
Doug