osaf/services/saf/immsv/README | 39 +++++++++++++++++++++++++++++++++++++++ 1 files changed, 39 insertions(+), 0 deletions(-)
diff --git a/osaf/services/saf/immsv/README b/osaf/services/saf/immsv/README --- a/osaf/services/saf/immsv/README +++ b/osaf/services/saf/immsv/README @@ -328,6 +328,45 @@ PBE enabled. TIMEOUT of course means tha know if the CCB committed, aborted, or is still being processed. +Common missunderstandings about "system attributes" of an imm object. +--------------------------------------------------------------------- +Besides the attributes defined in its class, every object also gets assigned +three system attributes (see section 4.2.19 in the SAF IMM A.2.1 spec): + + SaImmAttrClassName - SaStringT - holds the class-name for the object. + SaImmAttrAdminOwnerName - SaStringT - holds admin-owner (if it exists). + SaImmAttrImplementerName - SaStringT - holds implemener-name (if it exists). + +These system attributes are maintained by the imm service and are not writable +by any Om or OI client. They are readable at any time. The SaImmAttrClassName +attribute is in essence static, since no object can ever change class. It is +also a persistent attribute in that the value is dumped to external format +and the value of course survives cluster restarts. + +The SaImmAttrAdminOwnerName and SaImmAttrImplementerName get assigned when/if +an admin-owner or implementer is set for the object. These attributes are not +full-cycle persistent. That is, a cluster restart will drop their value. For +the SaImmAttrAdminOwnerName attribute, imm-loading always assigns the value +'IMMLOADER'. That admin-owner is special in that it may be overwritten by +anyone setting a new and normal admin-owner for the object. The admin-owner +value 'IMMLOADER' can be used to see if an object has been modified since +the last cluster restart. For SaImmAttrImplementerName the value will always +be empty/null after a cluster restart. + +Note however that both SaImmAttrImplementerName and SaImmAttrAdminOwnerName +are written to export format when the imm is dumped. This can be usefull +for debugging purposes, but the immloader discards these values so that +the system comes up "clean" with respect to admin-owners and implementers. + +One conclusion from this is that an OI that is started/restarted must always +invoke not just saImmOiImplementerSet, but also any relevant +saImmOiClassImplementerSet or saImmOiObjectImplementerSet. If the OI only +restarted as a process, the call will be 'idempotent' and succeed quickly. +If the OI is started after a cluster-start then these calls are necssary +to rebuild the implementer-map. See ticket defect ticket #543 for details. +(http://sourceforge.net/p/opensaf/tickets/543) + + PERSISTENCE =========== The IMM standard mandates that configuration attributes and persistent runtime ------------------------------------------------------------------------------ Slashdot TV. Video for Nerds. Stuff that matters. http://tv.slashdot.org/ _______________________________________________ Opensaf-devel mailing list Opensaf-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensaf-devel