- **Type**: defect --> enhancement
- **Milestone**: 5.0.FC --> 5.1.FC
- **Comment**:

Change the ticket type back to `enhancement` as it does show any fault in term 
of LOG's functionalities.



---

** [tickets:#1330] LOG: Incorrect usage of saImmRtObjectDelete when terminating 
an app stream with config obj**

**Status:** review
**Milestone:** 5.1.FC
**Created:** Wed Apr 22, 2015 07:35 AM UTC by elunlen
**Last Updated:** Wed Jul 20, 2016 06:11 AM UTC
**Owner:** Vu Minh Nguyen


As far as I can see OiRtObjectCreate_2() is used only when an application 
stream with a runtime object is created. When an application stream using a 
configuration object is created no object is created by the log server. The 
object creation is done by IMM. The logserver OI is involved in validating the 
creation parameters and if validation pass IMM is creating the object no 
OiRtObjectCreate is involved in this. All of this seems correct.

Termination of an application stream is done by deleting its configuration 
object as shown below. I can see that the function used for terminating an 
application stream with a runtime object is also used with the app stream with 
configuration object. This is correct except for one thing. This function calls 
a function that calls a function that calls OiRtObjectDelete() which is NOT 
correct. What will happen is exactly what can be seen below and that's that 
when OiRtObjectDelete() no runtime object with the given name can be found to 
delete and error code 12 (SA_AIS_ERR_NOT_EXIST) is returned. However this is 
done in the apply callback so IMM has already got a positive affirmation to 
remove the configuration object and will do so.

This means that terminating an application stream with a configuration object 
works but the warning " WA saImmOiRtObjectDelete returned 12 for 
safLgStrCfg=appstream1,safApp=safLogService" will always be logged. This is a 
defect and should be fixed. I will write an OpenSAF ticket for this.

See function log_stream_delete() in lgs_stream.c
Call chain: stream_ccb_apply_delet() (lgs_imm.c), log_stream_close(), 
log_stream_delete()

> SLES-64BIT-SLOT1:/home/sirisha/6.5 # immcfg -c SaLogStreamConfig 
> safLgStrCfg=appstream1,safApp=safLogService -a 
> saLogStreamPathName=applogs -a saLogStreamMaxLogFileSize=1500 -a
> saLogStreamMaxFilesRotated=4 -a saLogStreamFileName=applicationStream1
> Apr 16 12:58:19 SLES-64BIT-SLOT1 osafimmnd[2434]: NO Ccb 4 COMMITTED
> (immcfg_SLES-64BIT-SLOT1_4344)
> 
> SLES-64BIT-SLOT1:/home/sirisha/6.5 # immlist 
> safLgStrCfg=appstream1,safApp=safLogService
> Name Type Value(s)
> ======================================================================
> == safLgStrCfg SA_STRING_T safLgStrCfg=appstream1 
> saLogStreamSeverityFilter SA_UINT32_T <Empty> saLogStreamPathName 
> SA_STRING_T applogs saLogStreamNumOpeners SA_UINT32_T 1 (0x1) 
> saLogStreamMaxLogFileSize SA_UINT64_T 1500 (0x5dc) 
> saLogStreamMaxFilesRotated SA_UINT32_T 4 (0x4) 
> saLogStreamLogFullHaltThreshold SA_UINT32_T 75 (0x4b) 
> saLogStreamLogFullAction SA_UINT32_T 3 (0x3) saLogStreamLogFileFormat 
> SA_STRING_T <Empty> saLogStreamFixedLogRecordSize SA_UINT32_T 150
> (0x96) saLogStreamFileName SA_STRING_T applicationStream1 
> saLogStreamCreationTimestamp SA_TIME_T 1429169299503559646 
> (0x13d56de7e4cdb3de, Thu Apr 16 12:58:19 2015) 
> logStreamDiscardedCounter SA_UINT64_T 0 (0x0) SaImmAttrImplementerName 
> SA_STRING_T safLogService SaImmAttrClassName SA_STRING_T 
> SaLogStreamConfig SaImmAttrAdminOwnerName SA_STRING_T <Empty>
> 
> SLES-64BIT-SLOT1:/home/sirisha/6.5 # immfind | grep -i saflg 
> safLgStrCfg=appstream1,safApp=safLogService
> safLgStrCfg=saLogAlarm,safApp=safLogService
> safLgStrCfg=saLogNotification,safApp=safLogService
> safLgStrCfg=saLogSystem,safApp=safLogService
> 
> SLES-64BIT-SLOT1:/home/sirisha/6.5 # immcfg -d 
> "safLgStrCfg=appstream1,safApp=safLogService"
> Apr 16 12:58:53 SLES-64BIT-SLOT1 osafimmnd[2434]: NO Ccb 5 COMMITTED
> (immcfg_SLES-64BIT-SLOT1_4362)
> 
> SLES-64BIT-SLOT1:/home/sirisha/6.5 # Apr 16 12:58:53 SLES-64BIT-SLOT1
> osaflogd[2464]: WA saImmOiRtObjectDelete returned 12 for 
> safLgStrCfg=appstream1,safApp=safLogService



---

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.
------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports.http://sdm.link/zohodev2dev
_______________________________________________
Opensaf-tickets mailing list
Opensaf-tickets@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-tickets

Reply via email to