Forum Discussion
22 Replies
Sort By
- Nicolas_MenantEmployeei would be curious to see how you will handle global data through multiple TMM since it's stored on the TMM by default !
- Chris_14455NimbostratusWe have found that it is NOT single threaded. Or at least what we are trying to do with it is not.
- spark_86682Historic F5 AccountFrom your description, this sounds like a pretty straightforward UIE persistence setup, and so it should just work. Are you doing all of your decision making AND node lookup AND node selection AND node recording in the same iRule event? If not, then that could be the source of your problem. Which version are you running? Could you also post at least a simplified version of your iRule?
- Chris_14455NimbostratusHere is the iRule.. Pretty basic..
- spark_86682Historic F5 AccountThanks for posting that. As I suspected, the problem that you describe is happening because you are spreading your actions across iRule events.
- Chris_14455NimbostratusI see.. At that point I guess my question would shift from concurrency to how I might be able to determine where a least connections load balance would go from within the CLIENT_DATA event? Currently, we set it after it is connected. Of course we could set it from the CLIENT_DATA even if we knew what it would select?
- spark_86682Historic F5 AccountI don't think it's possible to know what the load-balancing decision is/will be in the CLIENT_DATA event. What you might be able to do instead is leverage the LB_SELECTED event, where you can use the LB::server command. I don't know exactly what you're now looking to do, but one possibility is to record the SessionID in CLIENT_DATA, but do all your selection logic in LB_SELECTED, overriding the load-balancing decision if your array already has an entry in for the SessionID.
- Chris_14455NimbostratusYea our problem is one of timing. In the CLIENT_DATA we parse the request for a token. We use that token to lookup the node we should load balance the request to. However, if there is no mapping at that point we would like to load balance the request to the least used server. All subsequent requests with the same TOKEN would then get sent to the same node.
- The_BhattmanNimbostratusCan you post your code so we can take a look at what you have come up with so far?
- Chris_14455NimbostratusOK I have modified the original code to one I think may work better. I have attached it.