On 14-Dec-15 1:40 PM, Lennart Lund wrote:
> Hi Praveen
>
> It seems relevant to remove this warning but is anything logged if logging 
> actually fail?
If log service callback is meant here, then there is no return code 
which confirms logging other than SA_AIS_ERR_TIMEOUT and SA_AIS_OK. Also 
for SA_AIS_ERR_TIMEOUT, log service spec says "An 
implementation-dependent timeout occurred before the call could 
complete. It is unspecified whether the call succeeded or whether it did 
not."
> The error checking seems a bit limited e.g. it is not checked if the error is 
> TRY AGIN or any other more permanent error. Also is there any mechanism for 
> giving up retrying?
>
As of now ntfd maintains the notification for relogging even for the 
permanent error. For TRY_AGAIN and TIME_OUT, it is consistent with SAF 
standards (switchover or failover situations) to keep notifications for 
relogging. Regarding retrying, ntfd is not immediately retrying, it 
queues the notification and retries to re-log when a new notification comes.
I do not know here, why notification has been kept for re-logging for 
other return codes also. I think ntfd should have exited for other 
return codes just as it is doing for failure to call 
saLogWriteLogAsync(). Actually other return codes (except 
ERR_UNAVAILABLE) represents fatal errors and due to this NTFD if allowed 
to exit will lead to fail-over by AMF. Thus it will lead to automatic 
recovery and repair.


Thanks,
Praveen
> Thanks
> Lennart
>
>> -----Original Message-----
>> From: praveen.malv...@oracle.com [mailto:praveen.malv...@oracle.com]
>> Sent: den 14 december 2015 08:19
>> To: Vu Minh Nguyen
>> Cc: opensaf-devel@lists.sourceforge.net
>> Subject: [devel] [PATCH 1 of 1] ntfd: fix syslog warning when queueing
>> notification for relogging [1628]
>>
>>   osaf/services/saf/ntfsv/ntfs/NtfLogger.cc |  2 +-
>>   1 files changed, 1 insertions(+), 1 deletions(-)
>>
>>
>> syslog is flooded with the following warnings
>> Dec 14 12:25:04 SC-1 osafntfd[9377]: WA Error when logging (9), queue for
>> relogging
>>
>> Ntfd logs notifications by calling async api of LOG service. If ntfd gets 
>> error in
>> the
>> confirmation callback, it queues up notification for relogging and logs a 
>> syslog
>> warning.
>> If LOG service is busy for longer time for example in failover situation, 
>> then it
>> may give
>> TRY_AGAIN to ntfd. In such a case syslog warning can be avoided and can be
>> logged as trace.
>>
>>
>> Ptach converts warning in a trace irrespective of error code.
>>
>> diff --git a/osaf/services/saf/ntfsv/ntfs/NtfLogger.cc
>> b/osaf/services/saf/ntfsv/ntfs/NtfLogger.cc
>> --- a/osaf/services/saf/ntfsv/ntfs/NtfLogger.cc
>> +++ b/osaf/services/saf/ntfsv/ntfs/NtfLogger.cc
>> @@ -104,7 +104,7 @@ void saLogWriteLogCallback(SaInvocationT
>>       {
>>           NtfSmartPtr notification;
>>
>> -        LOG_WA( "Error when logging (%d), queue for relogging", error);
>> +        TRACE_1( "Error when logging (%d), queue for relogging", error);
>>
>>           notification = NtfAdmin::theNtfAdmin->getNotificationById(
>>                                                                    
>> (SaNtfIdentifierT) invocation);
>>
>> ------------------------------------------------------------------------------
>> _______________________________________________
>> Opensaf-devel mailing list
>> Opensaf-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/opensaf-devel

------------------------------------------------------------------------------
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to