https://sourceforge.net/p/opensaf/mailman/message/31753231/


---

** [tickets:#49] IMM: Support reference integrity checking**

**Status:** review
**Created:** Wed May 08, 2013 07:52 AM UTC by Anders Bjornerstedt
**Last Updated:** Thu Dec 12, 2013 10:58 AM UTC
**Owner:** Zoran Milinkovic

Migrated from:
http://devel.opensaf.org/ticket/3122

Add a new flag for object attributes, defined as follows:

#define SA_IMM_ATTR_NO_DANGLING 0x0000000004000000

The SA_IMM_ATTR_NO_DANGLING attribute is only meaningful for configuration 
attributes of type SA_IMM_ATTR_SANAMET. Setting it for runtime attributes or 
configuration attributes of other types is not allowed and generates an error.

The IMM service will guarantee that the value(s) of an attribute with the 
SA_IMM_ATTR_NO_DANGLING flag, when set, contains the distinguished name of an 
existing IMM object. IMM will reject attempts to set it to anything that is not 
the distinguished name of an existing object, and it will reject attempts to 
delete objects that are referenced by such an attribute. This validation is 
performed when the CCB is applied, which means that it will take into account 
all changes performed within the CCB.

Optionally, it is also possible to restrict the type of objects that an 
attribute with the flag SA_IMM_ATTR_NO_DANGLING is allowed to reference. If the 
attribute name contains the colon character (ASCII value 58), then the part of 
the attribute name following the colon specifies the class name that referenced 
object must be an instance of. The IMM service will reject attempts to set the 
attribute to the distinguished name of an object that is not an instance of 
this class.

-----------------------------------------------------------------
In addition, besides checking that the attribute value to be assigned is the DN 
of an
existing object, the imm service will check that the object is persistent, i.e. 
either
the DN of a config object or the DN of a persistent runtime object.
References to non persistent runtime objects can not be allowed since a cluster
restart would automatically cause such references to become dangling.

(Peristent runtime objects should of course never be used, but since they *are* 
used
heavily by services such as smfsv, it would be strange not to support 
referential integrity
covering references to such objects.

References from one PRTO to another PRTO would not be allowed according to the 
above rules,
so this addition concerns only references from config objects to runtime 
objects. 



---

Sent from sourceforge.net because opensaf-tickets@lists.sourceforge.net is 
subscribed to https://sourceforge.net/p/opensaf/tickets/

To unsubscribe from further messages, a project admin can change settings at 
https://sourceforge.net/p/opensaf/admin/tickets/options.  Or, if this is a 
mailing list, you can unsubscribe from the mailing list.
------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk
_______________________________________________
Opensaf-tickets mailing list
Opensaf-tickets@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-tickets

Reply via email to