The current architecture of action functions in PBS needs to be enhanced in order to take care of the following scenarios.
1. If two or more attributes are set at the same time they are are expected to be set atomically i.e. either all of them are set or none of them are set. In the following case lets say if the validation for the attribute a2 fails then other attributes i.e. a1 and a3 should also be not set, but unfortunately they are getting set sometimes especially if one attribute's validation depends on other.
Example: qmgr -c "set server a1=v1,a2=v2,a3=v3"
2. If a object has attributes a1 and a2 which are having cyclic dependecny i.e. a1 depening on a2 and inturn a2 depending on a1. And assume that following are the valid combinations supported for these attributes.
valid combinations are
1. a1=q1 and a2=p1
2. a1=q2 and a2=p2
current object o1 contains a2=p1
But if somebody wants to set the second combination shown above at the same time using command
qmgr -c "set server a1=q2,a2=p2" then this should be allowed whereas it is not allowed today.
3. If these attributes are created through a configuration file like vnodedef then also the validations should happen properly.