We have a legacy ColdFusion application using 150 client variables to manage session state. The client variables are centrally stored in a SQL Server database within a 6 (CF9) application server clustered environment using a round-robin load balancer.
The problem is when the code updates a client variable with a new value, the old value is still being used and displayed even though the new value is updated appropriately in the CData table. This only happens intermittently in an average of 1 out of 1000 updates being made to the client variable using the cfset tag.
Race conditions and caching issues are possible explanations. We "suspect" that the old value is still being cached on one of the 6 application servers. Adobe's documentation clearly states that the client variables are cached into memory but does not go into further details.
1) Has anyone also experienced this issue and found a good resolution?
2) What are the implications of moving to a sticky session while we keep using the client variables?