Dynamic deletion of application stream returns SA_AIS_ERR_NOT_EXIST during failover scenario.
Created application stream dynamically using immcfg.
triggered failover and immediately tried to delete the application stream which created dynamically.
During failover there is temporarily no implementer for log streams. Is the problem here that the delete is not responded with TRYAGAIN or what is the real issue?
Or in other words the controller failover is not transparent enough for the operator.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
That is a good point.
Its really quite unfortunate that SAF overloaded the ERR_NOT_EXIST error code
for the operation such as saImmOmCcbObjectDelete() to represent both "object
does not exist" and "implementer currently not attached".
In this case the LOG-OI can not send any arror string, but the IMM service
could. I will write an enhancement ticket for that particular case.
The missing OI case will then at least be clearer when the operation is
performed wia immcfg. This since immcfg supports fetching and printing of
error strings.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
--- old+++ new@@ -2,3 +2,4 @@The immsv should add an error string to the reply for this case.
+Error string should be added for same cases in object create and object delete.
status: accepted --> review
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Dynamic deletion of application stream returns SA_AIS_ERR_NOT_EXIST during failover scenario.
Created application stream dynamically using immcfg.
triggered failover and immediately tried to delete the application stream which created dynamically.
snippet of console output:
immcfg -d safLgStrCfg=applications,safApp=safLogService
error - saImmOmCcbObjectDelete for 'safLgStrCfg=applications,safApp=safLogService' FAILED: SA_AIS_ERR_NOT_EXIST (12)
Missing: implementer, or object, or attribute (see: immcfg -h under '—unsafe')
SLOT3:~ # immlist safLgStrCfg=applications,safApp=safLogService
Name Type Value(s)
========================================================================
safLgStrCfg SA_STRING_T safLgStrCfg=applications
saLogStreamSeverityFilter SA_UINT32_T 127 (0x7f)
saLogStreamPathName SA_STRING_T /tmp/new
saLogStreamNumOpeners SA_UINT32_T 1 (0x1)
saLogStreamMaxLogFileSize SA_UINT64_T 300 (0x12c)
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 newapfile
saLogStreamCreationTimestamp SA_TIME_T <empty>
SaImmAttrImplementerName? SA_STRING_T safLogService
SaImmAttrClassName? SA_STRING_T SaLogStreamConfig?
SaImmAttrAdminOwnerName? SA_STRING_T <empty>
=============================================================</empty></empty></empty>
Did you do this when running in UML? Is it possible that the file system used for log was a local file system (not accessible from both SC nodes)?
During failover there is temporarily no implementer for log streams. Is the problem here that the delete is not responded with TRYAGAIN or what is the real issue?
Or in other words the controller failover is not transparent enough for the operator.
That is a good point.
Its really quite unfortunate that SAF overloaded the ERR_NOT_EXIST error code
for the operation such as saImmOmCcbObjectDelete() to represent both "object
does not exist" and "implementer currently not attached".
In this case the LOG-OI can not send any arror string, but the IMM service
could. I will write an enhancement ticket for that particular case.
The missing OI case will then at least be clearer when the operation is
performed wia immcfg. This since immcfg supports fetching and printing of
error strings.
Actually, instead of writing a new ticket I should probably (?) convert this
ticket.
Diff:
Diff:
https://sourceforge.net/p/opensaf/mailman/message/32177493/
http://sourceforge.net/p/opensaf/mailman/message/32223660/
default(4.5):
changeset: 5170:ed192ef2fa68
user: Zoran Milinkovic zoran.milinkovic@ericsson.com
date: Mon Apr 14 13:56:55 2014 +0200
summary: IMM: add error strings for CCB operations for ERR_NOT_EXIST error [#459]
changeset: 5171:cfb838fa1c61
tag: tip
user: Zoran Milinkovic zoran.milinkovic@ericsson.com
date: Mon Apr 14 13:59:21 2014 +0200
summary: IMMTOOLS: write error strings for ERR_NOT_EXIST error code in immcfg [#459]
Related
Tickets:
#459