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