Hi

Why not make this part of the test cases? Change the configuration IMM 
attributes, run the test case and change back again to clean up

Thanks
Lennart

> -----Original Message-----
> From: praveen malviya [mailto:praveen.malv...@oracle.com]
> Sent: den 10 augusti 2016 07:53
> To: Vu Minh Nguyen <vu.m.ngu...@dektech.com.au>; Minh Hon Chau
> <minh.c...@dektech.com.au>; Lennart Lund <lennart.l...@ericsson.com>
> Cc: opensaf-devel@lists.sourceforge.net
> Subject: Re: [PATCH 1 of 1] ntfsv: refactor logging long dn notification 
> [#1585]
> 
> Hi Vu,
> 
> Thanks for the information.
> I think your suggested information must go in README file.
> Ack from me.
> 
> Thanks,
> Praveen
> 
> 
> On 10-Aug-16 8:46 AM, Vu Minh Nguyen wrote:
> > Hi Praveen,
> >
> > The notification and notifying objects are truncated because we did not
> > change default attribute values before running test.
> >
> > Following changes should be done before running test:
> > 1) The field size of @No and @Ng tokens in `saLogStreamLogFileFormat`
> > In default, the field-size value is 30. Means, the notification and
> > notifying objects are limited to 30 characters.
> > For long DN test, we should remove  the <field-size>. E.g: change default
> > "@No30" to "@No".
> >
> > 2) The fixed log record size - `saLogStreamFixedLogRecordSize`
> > In default, its value is 200. A whole log record is limited to this number
> > of characters.
> > We should change it to 0, means variable log record size.
> >
> > 3) Max log record size - `logMaxLogrecsize` in class ` OpenSafLogConfig`
> > In default, max log record size is limited to 1024 characters.
> > We should change it to a bigger number. Max value is 65535.
> >
> > Example:
> > # immcfg -a saLogStreamFixedLogRecordSize=0 -a
> saLogStreamLogFileFormat="@Cr
> > @Ct @Nt @Ne6 @No @Ng \"@Cb\""
> safLgStrCfg=saLogAlarm,safApp=safLogService
> > # immcfg -a logMaxLogrecsize=65535 logConfig=1,safApp=safLogService
> >
> > We can consider to put these information into the ~/tests/ntfsv/README
> file.
> >
> > Regards, Vu
> >
> >> -----Original Message-----
> >> From: praveen malviya [mailto:praveen.malv...@oracle.com]
> >> Sent: Tuesday, August 9, 2016 6:46 PM
> >> To: Vu Minh Nguyen <vu.m.ngu...@dektech.com.au>; 'minh chau'
> >> <minh.c...@dektech.com.au>; 'Lennart Lund'
> <lennart.l...@ericsson.com>
> >> Cc: opensaf-devel@lists.sourceforge.net
> >> Subject: Re: [PATCH 1 of 1] ntfsv: refactor logging long dn notification
> >> [#1585]
> >>
> >> Hi Vu,
> >>
> >> This patch is doing that. My question was any truncation being done from
> >> log service after taking a long Dn notificaion from NTF.
> >>
> >> For example: When executed first ntf long dn test: ntftest 36 1
> >>
> >> LOG service logs these notification in saLogAlarm_20160809_165614.log
> as:
> >>   10 0x146920b67187c6f0 0x146920b67187c6f0 0x4001
> >> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
> >> BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB "this is
> >> additional text info"
> >>   11 0x146920b67187c6f0 0x146920b67187c6f0 0x4001 AMF BLABLA
> >> Component
> >>          AMF BLABLA Entity              "this is additional text info"
> >>
> >> In the first notification above, notification and notifying objects are
> >> truncated. Do we need to increase the size of log service record?
> >>
> >> Thanks,
> >> Praveen
> >>
> >> On 05-Aug-16 8:40 AM, Vu Minh Nguyen wrote:
> >>> Hi Praveen,
> >>>
> >>> Truncation is removed as LOG supports Long DN now. Means, NTF would
> >> not get
> >>> INVALID_PARAM if logging longdn-contained notifications.
> >>>
> >>> Regards, Vu
> >>>
> >>>> -----Original Message-----
> >>>> From: praveen malviya [mailto:praveen.malv...@oracle.com]
> >>>> Sent: Thursday, August 4, 2016 8:24 PM
> >>>> To: Vu Minh Nguyen <vu.m.ngu...@dektech.com.au>; minh chau
> >>>> <minh.c...@dektech.com.au>; Lennart Lund
> >> <lennart.l...@ericsson.com>
> >>>> Cc: opensaf-devel@lists.sourceforge.net
> >>>> Subject: Re: [PATCH 1 of 1] ntfsv: refactor logging long dn
> > notification
> >>>> [#1585]
> >>>>
> >>>> Hi Vu,
> >>>>
> >>>> TWith this patch Ntf will not perform any truncation on long dn while
> >>>> saflogging alrams.Is it with the log service (after supporting long dn)
> >>>> also or log service is performing any truncation before logging?
> >>>>
> >>>>
> >>>> Thanks,
> >>>> Praveen
> >>>>
> >>>> On 22-Jul-16 4:46 PM, Vu Minh Nguyen wrote:
> >>>>>  osaf/services/saf/ntfsv/ntfs/NtfLogger.cc |  51
> >>> +++++++----------------------
> >>>> -
> >>>>>  1 files changed, 13 insertions(+), 38 deletions(-)
> >>>>>
> >>>>>
> >>>>> Remove the part of code that truncates the long DN.
> >>>>>
> >>>>> 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
> >>>>> @@ -21,6 +21,7 @@
> >>>>>   */
> >>>>>  #include <sys/poll.h>
> >>>>>
> >>>>> +#include "osaf_utility.h"
> >>>>>  #include "saAis.h"
> >>>>>  #include "saLog.h"
> >>>>>  #include "NtfAdmin.hh"
> >>>>> @@ -232,48 +233,22 @@ SaAisErrorT NtfLogger::logNotification(N
> >>>>>                                     notif->getNotificationId(),
> >>>>>                                     SA_LOG_RECORD_WRITE_ACK,
> >>>>>                                     &logRecord);
> >>>>> -    if (SA_AIS_OK != errorCode) {
> >>>>> -      LOG_NO("Failed to log an alarm or security alarm notification
> >>> (%d)",
> >>>> errorCode);
> >>>>> -      if (errorCode == SA_AIS_ERR_LIBRARY || errorCode ==
> >>>> SA_AIS_ERR_BAD_HANDLE) {
> >>>>> -        LOG_ER("Fatal error SA_AIS_ERR_LIBRARY or
> >>>> SA_AIS_ERR_BAD_HANDLE; exiting (%d)...", errorCode);
> >>>>> -        exit(EXIT_FAILURE);
> >>>>> -      } else if (errorCode == SA_AIS_ERR_INVALID_PARAM) {
> >>>>> -        /* Retry to log truncated notificationObject/notifyingObject
> >>> because
> >>>>> -         * LOG Service has not supported long dn in Opensaf 4.5
> >>>>> -         */
> >>>>> -        char short_dn[SA_MAX_UNEXTENDED_NAME_LENGTH];
> >>>>> -        memset(&short_dn, 0,
> SA_MAX_UNEXTENDED_NAME_LENGTH);
> >>>>> -        SaNameT shortdn_notificationObject, shortdn_notifyingObject;
> >>>>> -        if (osaf_is_an_extended_name(ntfHeader->notificationObject))
> > {
> >>>>> -          strncpy(short_dn, osaf_extended_name_borrow(ntfHeader-
> >>>>> notificationObject)
> >>>>> -                  , SA_MAX_UNEXTENDED_NAME_LENGTH - 1);
> >>>>> -          osaf_extended_name_lend(short_dn,
> >>> &shortdn_notificationObject);
> >>>>> -          logRecord.logHeader.ntfHdr.notificationObject =
> >>>> &shortdn_notificationObject;
> >>>>> -        }
> >>>>> -        if (osaf_is_an_extended_name(ntfHeader->notifyingObject)) {
> >>>>> -          strncpy(short_dn, osaf_extended_name_borrow(ntfHeader-
> >>>>> notifyingObject)
> >>>>> -                  , SA_MAX_UNEXTENDED_NAME_LENGTH - 1);
> >>>>> -          osaf_extended_name_lend(short_dn,
> > &shortdn_notifyingObject);
> >>>>> -          logRecord.logHeader.ntfHdr.notifyingObject =
> >>>> &shortdn_notifyingObject;
> >>>>> -        }
> >>>>> -        if (short_dn[0] != '\0') {
> >>>>> -          LOG_NO("Retry to log the truncated
> >>>> notificationObject/notifyingObject");
> >>>>> -          if ((errorCode = saLogWriteLogAsync(alarmStreamHandle,
> >>>>> -
> >>> notif->getNotificationId(),
> >>>>> -
> > SA_LOG_RECORD_WRITE_ACK,
> >>>>> -                                              &logRecord)) !=
> >>> SA_AIS_OK) {
> >>>>> -            LOG_ER("Failed to log the truncated
> >>>> notificationObject/notifyingObject (%d)"
> >>>>> -                   , errorCode);
> >>>>> -          }
> >>>>> -        }
> >>>>> -      }
> >>>>> -      goto end;
> >>>>> +    switch (errorCode) {
> >>>>> +    case SA_AIS_OK:
> >>>>> +           break;
> >>>>> +
> >>>>> +    /* LOGsv is busy. Put the notification to queue and re-send next
> >>> time */
> >>>>> +    case SA_AIS_ERR_TRY_AGAIN:
> >>>>> +    case SA_AIS_ERR_TIMEOUT:
> >>>>> +           TRACE("Failed to log notification (ret: %d). Try next 
> >>>>> time.",
> >>>> errorCode);
> >>>>> +           break;
> >>>>> +
> >>>>> +    default:
> >>>>> +           osaf_abort(errorCode);
> >>>>>      }
> >>>>>    }
> >>>>>
> >>>>> -end:
> >>>>>    TRACE_LEAVE();
> >>>>> -
> >>>>>    return errorCode;
> >>>>>  }
> >>>>>
> >>>>>
> >>>
> >

------------------------------------------------------------------------------
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-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to