Forum Discussion
Frank_Mancini_3
Nimbostratus
Mar 11, 2008Irule that waits?
Is it possible to write an iRule that has a wait time of 25 seconds before proceeding to the next step?
spark_86682
Mar 24, 2008Historic F5 Account
Thanks for posting that. As I suspected, the problem that you describe is happening because you are spreading your actions across iRule events.
So, what's happening is:
1) Client A comes in with new SessionID 12345
2) The CLIENT_DATA event notices that the ::auctiontable doesn't have an entry for that SessionID, does a load-balancing selection, and starts to connect to that server.
3) Client B comes in with that same SessionID.
4) The CLIENT_DATA event notices that the ::auctiontable *still* doesn't have an entry for that SessionID, does a (new, different) load-balancing selection, and starts to connect to that (new, different) server.
5) The first server connection completes, thus adding that entry to the ::auctiontable for SessionID 12345.
6) The second server connection completes, thus overwriting that entry to the ::auctiontable for SessionID 12345.
So Client A and Client B get sent to different servers even though they have the same SessionID. To fix this, you can move all the "set ::auctiontable($SessionID)" logic and put it in the CLIENT_DATA event. That way, in step 4 above, there will be an ::auctiontable entry, and Client B will get sent to the same server as Client A.
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
