We have configured a cluster set with two members and ran into a scenario where updating package parameters in one node does not result with the parameter values updating in the second node.
Example below:
==========
Both cluster members are restarted and Demo instance package parameter "foo" value is "bar"
Step 10: Node 1: Application code retrieves parameter "foo" by calling parameter::get. This returns "bar"
Step 20: Node 2: Using /admin/site-map and updates the demo's "foo" parameter to "NOT bar".
Step 30: Node 1: Application code retrieves package demo's parameter "foo" by calling parameter::get . This returns "bar", expecting "NOT bar"
===========
In Step 20, the parameters are updates via the parameter::set_value. The last line of the parameter::set_value procedure calls ad_parameter_cache to delete the cache entry. In the ad_parameter_cache procedure, the delete section notifies the cluster member only if the parameter entry exists in the local nsv_dict. In scenario above (Step 20), Node 1 does not get the signal to remove the cache. We removed the local cache check to address the issue. Is this an appropriate fix? Thank you