Fixed issue in cluster mode, denoted by Khy H in the OpenACS forum
A new command "ad_parameter_cache_flush_dict" was introduced to handle t…
Show more
Fixed issue in cluster mode, denoted by Khy H in the OpenACS forumA new command "ad_parameter_cache_flush_dict" was introduced to handlethe case, where a cluster node modifies a parameter value withouthaving it read before. This case could lead to a coherency problem forparameter values.Background: This proc is necessary in cases, where a node writes a new parameter value before it has read the old one. Since a plain "nsv_dict unset ad_param $key $parameter_name" raises an exception, when the pair does not exist, and we do not want to allow in cluster requests arbitrary "catch" commands, we allow "ad_parameter_cache_flush_dict" instead. Probably, the best solution is to add support for nsv_dict unset -nocomplain -- ad_param $key $parameter_nam The existing nsv_dict was built after Tcl's "dict unset", which does not have the "-nocomplain" option either. However, an atomic operation would certainly be preferable over an exists/unset pair, which is no acceptable solution.For details, see https://openacs.org/forums/message-view?message_id=5822470Show less