Forum Discussion
Kevin_Davies_40
Nacreous
Sep 06, 2010Globals not really global?
Hi,
In iRule A on VIP A I have set static::myversion "1.0"
in iRule B on VIP B I have if {[info exists static::myversion] } { ...
The problem is the second test only works half the time then as time progresses it works maybe %80-90 of the time.
System is BIG-IP 3900 running 10.2 HFA1 based on Xeon Quad Core Processor.
What am I missing here?
Jarvil
- naladar_65658
Altostratus
Hello Jarvil, - DeVon_Jarvis
Altostratus
As I remember, a tmm instance is running on each core. With a 3900, there will be 4 tmm's (most likely). I believe the global variable is global to the tmm instance, not the LTM as a whole. This would account for working sometimes and not others. Until the global is set on each tmm instance, you would have the problem of it not being found sometimes. - hoolio
Cirrostratus
I think variables in the static:: namespace are only sync'd across the TMM's during RULE_INIT. Any changes to the static:: variable in RULE_INIT should work fine. Changes to static:: variables after RULE_INIT won't be synched. Checking if the static:: variable exists should always work (assuming you're not unsetting the variable in a rule). If you're using true global variables, then the VS should be demoted automatically from CMP and only run on one TMM instance. - Kevin_Davies_40
Nacreous
Thanks for the help guys,
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