The behaviour above is correct.
 - Only attributes that has changed in an object will be notified even if there 
are
   more attributes in the object that has notify flag set
 - Only attributes that has a value will be displayed in the attribute values 
list but
   will be in the additional info list if the change is that all values are 
removed
 - Each value in a multi value attribute is displayed in the attribute value 
list. All
   values has the same Id (belongs to the same attribute)
 - If a new object is created all flagged attributes will be displayed in the 
additional
   values list but in the attribute values list only attributes that has a 
value will
   be displayed.

--------------

The OpenSAF_Extensions_PR.odt says:
 - Create and delete notifications are generated when at least one attribute in 
a class
   has been tagged with ATTR_NOTIFY.
 - A change of a tagged cached runtime attribute, immediately triggers a 
notification.
 - For changes of configuration attributes, notifications are sent when the CCB 
is
   applied
   (for a canceled CCB, nothing is sent)
   Note:
   One IMM modification operation can be used to modify several attributes in 
the same
   object.
   It is also possible to use several modification operations e.g one per 
attribute or
   some combination in the same CCB. IMCN notifications are sent one per 
operation.
   This means that there may be more than one notification for modifying an 
object
   within the same CCB.
 - To understand if a notifications is the last one belonging to a CCB, the 
boolean
   attribute ccbLast indicates if a notification is the last one in a series 
with the
   same CCB ID.
 - The mandatory attribute order is fixed as presented. Multi value attributes 
are
   supported using multiple SaNtfAttributeT with same attributeId. An example 
is given.
 - When the number of values is changed for a multi value attribute, the 
notification
   will show the resulting value of the attribute. Thus if a value is added to 
a single
   valued attribute, two values will be listed in the notification. If one 
value is
   removed, the remaining values will be shown in the notification.
 - InfoId in Additional information and Attribute Id always corresponds to each 
other,
   meaning index n in Additional information always corresponds to index n in 
the
   Attribute list.
 - If all values for an attribute have been deleted, such attribute will have 
an entry
   in the additional info list but not in the attribute list.

------------------------

I think most of the information about this behaviour is there in the document 
but I have found one thing thats unclear.

In section 3.1.4 note 2 says:
"The length of the attribute list is the same as the amount of instances of 
additional info fields."
This not always the case wihich is also documented in the previous section.


---

** [tickets:#619] The length of the attribute list may be less than the 
instances of additional info fields in NTFIMCN notification**

**Status:** unassigned
**Created:** Tue Nov 12, 2013 06:33 AM UTC by Sirisha Alla
**Last Updated:** Tue Nov 12, 2013 06:33 AM UTC
**Owner:** nobody

Point 2 of Section 3.1.4 of OpenSAF_Extensions_PR.odt says:

2. The length of the attribute list is the same as the amount of instances of 
additional info fields

But the above statement is not true for all the cases. Possible cases which 
does not fall under the above statement:

a) multivalued attributes
b) The number of attributes that have ATTR_NOTIFY flag specified is greater 
than the number of attributes for which we have provided value while creating 
the object. 

Notification output for (b):

eventType = SA_NTF_OBJECT_CREATION
notificationObject = "attrName_testSA_registerSA_Node_37_69"
notifyingObject = "safApp=OpenSaf"
notificationClassId = 32993.8.0 (0x0)
sourceIndicator = SA_NTF_MANAGEMENT_OPERATION

numAdditionalInfo: 7
- additionalInfo: 0 -
 infoId = 0
 infoType = 11
 infoValue = "SaImmAttrAdminOwnerName"
- additionalInfo: 1 -
 infoId = 1
 infoType = 11
 infoValue = "SaImmAttrClassName"
- additionalInfo: 2 -
 infoId = 2
 infoType = 11
 infoValue = "SaImmOiCcbIdT"
- additionalInfo: 3 -
 infoId = 3
 infoType = 11
 infoValue = "ccbLast"
- additionalInfo: 4 -
 infoId = 4
 infoType = 11
 infoValue = "attrName5"
- additionalInfo: 5 -
 infoId = 5
 infoType = 11
 infoValue = "attrName3"
- additionalInfo: 6 -
 infoId = 6
 infoType = 11
 infoValue = "attrName2"

numAttributes: 5
- Attribute ID: 0 -
 Attribute Type: (11) SA_NTF_VALUE_STRING
 Attribute Value: "exowner"
- Attribute ID: 1 -
 Attribute Type: (11) SA_NTF_VALUE_STRING
 Attribute Value: "testSA_registerSA_Node_37_69"
- Attribute ID: 2 -
 Attribute Type: (7) SA_NTF_VALUE_UINT64
 Attribute Value: 8
- Attribute ID: 3 -
 Attribute Type: (4) SA_NTF_VALUE_UINT32
 Attribute Value: 1
- Attribute ID: 5 -
 Attribute Type: (11) SA_NTF_VALUE_STRING
 Attribute Value: "attrname3" 

In the above mentioned notification, attrName2 and attrName5 are not present in 
the attribute list since a value has not been specified during object creation. 
numAdditionalInfo and numAttributes do not match.



---

Sent from sourceforge.net because [email protected] 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.
------------------------------------------------------------------------------
November Webinars for C, C++, Fortran Developers
Accelerate application performance with scalable programming models. Explore
techniques for threading, error checking, porting, and tuning. Get the most 
from the latest Intel processors and coprocessors. See abstracts and register
http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk
_______________________________________________
Opensaf-tickets mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-tickets

Reply via email to