caching - ColdFusion Client Variable Showing Outdated Value Intermittently -


we have legacy coldfusion application using 150 client variables manage session state. client variables centrally stored in sql server database within 6 application server clustered environment using round-robin load balancer.

the problem when code updates client variable new value, old value still being used , displayed though new value updated appropriately in cdata table. happens intermittently in average of 1 out of 1000 updates being made client variable using cfset tag.

race conditions , caching issues possible explanations. “suspect” old value still being cached on 1 of 6 application servers. adobe's documentation states client variables cached memory not go further details.

1) has experienced issue , found resolution?

2) implications of moving sticky session while keep using client variables?

i think first take closely @ database commits. client vars retrieved @ "beginning" of request , updated @ "end" of request changes. consider case cflocation happens @ end of request. possible "next" request draws pages db before update committed? in complex system replication etc situations can happen. 6 clustered web servers significant number.

as caching in memory - cf caches client var in memory , "reads" store (the database) if client var changed (if update has taken place). onto there well. still, theoretically client var cached in memory should identical vars in data store. since stores changes - written datastore. done in real time (as understand it) i.e. @ end of request. changes client vars flushed db. theoretically round robin, if browser showed on new server did not have client vars in memory go them out of db. that's why think db might key here. note: update behavior might changed based on whether global vars enabled or disabled. take @ each server see if there differences in how setting used.

as sticky sessions: if using hardware based load balancer make sure , explore it's balancing options. want use sticky sessions and lb divide load among servers. want smart enough know actual load (cpu usage usually) not just gross number of requests have been divided among servers. luck. love problems :)


Comments

Popular posts from this blog

html - How to style widget with post count different than without post count -

How to remove text and logo OR add Overflow on Android ActionBar using AppCompat on API 8? -

javascript - storing input from prompt in array and displaying the array -