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