When to use set_override or add_override



  • Product Name: VisiBroker
  • Product Version: 7 and later
  • Product Component: Policy
  • Platform/OS: All supported platforms

In a number of cases, customer uses SetOverrideType.SET_OVERRIDE instead of SetOverrideType.ADD_OVERRIDE to add additional policy. Consequently, it results in unexpected behavior like NO_PERMISSION exception in VBJ and core dump in VBC.

An example is VisiSecure core dump at vbsec::CSIV2IORInterceptor::establish_components.


The following is extracted from Issue 3614: Policy Management in the ORB core (orb_revision).

If SET_OVERRIDE is supplied, the supplied policies completely replace all existing overrides associated with the object reference. If ADD_OVERRIDE is supplied, the supplied policies are added to the existing overrides associated with the object reference, except that if a supplied Policy object has the same PolicyType value as an existing override, the supplied Policy object replaces the existing override.

You should use ADD_OVERRIDE to add new overrides to the PolicyManager or to replace existing overrides.

SET_OVERRIDE should be used to discard the current set of overrides in the PolicyManager and to use the set as defined in the set_policy_overrides method call.

SET_OVERRIDE should be used with care as many policies have been set through properties during application startup. Using SET_OVERRIDE will cause the initial set of policies to be discarded, and possibly causing the ORB to fail as it is unable to find the policies which it requires.


Comment List