Hi Vu,

test case 9 failing on PL-3 , i am i missing any configuration ?

# /usr/bin/logtest -e 9

Suite 9: LOG Server down / up
         ;
Preparing 8 streams for test. Please wait...
Preparing stream 0
.......................
Preparing stream 1
.......................
cur_logfile_name_get scandir Fail No such file or 
directorysaLogRecov_prepare_client1_8streams Internal error. Test failed


-AVM

On 8/10/2016 12:09 PM, Vu Minh Nguyen wrote:
>   osaf/services/saf/logsv/lgs/lgs_recov.cc |  59 
> +++++++++++++++++--------------
>   1 files changed, 32 insertions(+), 27 deletions(-)
>
>
> create_new_app_stream() was changed and introduced new error codes in long DN
> ticket. One of them is SA_AIS_ERR_EXIST.
>
> When SCs restart from headless, create_new_app_stream() returns 
> SA_AIS_ERR_EXIST
> but this error code was not handled correctly and made recovery functionality
> fail.
>
> lgs_restore_one_app_stream needs to be updated.
>
> diff --git a/osaf/services/saf/logsv/lgs/lgs_recov.cc 
> b/osaf/services/saf/logsv/lgs/lgs_recov.cc
> --- a/osaf/services/saf/logsv/lgs/lgs_recov.cc
> +++ b/osaf/services/saf/logsv/lgs/lgs_recov.cc
> @@ -309,24 +309,6 @@ static int lgs_get_file_params_h(gfp_in_
>       return rc;
>   }
>   
> -static void lgs_remove_stream(uint32_t client_id, log_stream_t *log_stream)
> -{
> -     TRACE_ENTER();
> -
> -     /* Remove the stream handle and
> -      * remove the stream resources
> -      */
> -       if (lgs_client_stream_rmv(client_id, log_stream->streamId) < 0) {
> -            TRACE("%s lgs_client_stream_rmv Fail", __FUNCTION__);
> -       }
> -
> -       log_free_stream_resources(log_stream);
> -
> -       log_stream = NULL;
> -
> -       TRACE_LEAVE();
> -}
> -
>   /**
>    * Restore parameters for a lost runtime (application) stream, create the
>    * stream in the local stream list and associate with a client.
> @@ -344,7 +326,6 @@ int lgs_restore_one_app_stream(
>   {
>       int int_rc = 0;
>       int rc_out = 0;
> -     SaAisErrorT ais_rc = SA_AIS_OK;
>       SaImmHandleT immOmHandle;
>       SaImmAttrValuesT_2 *attribute;
>       SaImmAttrValuesT_2 **attributes;
> @@ -353,7 +334,7 @@ int lgs_restore_one_app_stream(
>       int list_pos;
>       int n;
>       int i = 0;
> -
> +     SaBoolT twelveHourModeFlag = SA_FALSE;
>       lgsv_stream_open_req_t open_stream_param;
>       log_stream_t *log_stream = NULL;
>       SaTimeT restored_creationTimeStamp = 0;
> @@ -552,23 +533,46 @@ int lgs_restore_one_app_stream(
>        */
>       open_stream_param.client_id = client_id;
>       open_stream_param.lstr_open_flags = 0; /* Dummy not used here */
> -
>       open_stream_param.logFileName = const_cast<char *>(fileName.c_str());
>       open_stream_param.logFilePathName = const_cast<char 
> *>(pathName.c_str());
>   
> -     ais_rc = create_new_app_stream(&open_stream_param, &log_stream);
> -     if ( ais_rc != SA_AIS_OK) {
> -             TRACE("%s: create_new_app_stream Fail %s",
> -                     __FUNCTION__, saf_error(ais_rc));
> +     log_stream = log_stream_new(stream_name, STREAM_NEW);
> +     if (log_stream == NULL) {
>               rc_out = -1;
>               goto done_free_attr;
>       }
>   
> +     /**
> +      * No need to verify all attributes as
> +      * they have been verified at the time of creation
> +      */
> +
> +     /* Get twelveHourModeFlag from the logFileFmt */
> +     lgs_is_valid_format_expression(open_stream_param.logFileFmt,
> +                                    STREAM_TYPE_APPLICATION,
> +                                    &twelveHourModeFlag);
> +     rc_out = lgs_populate_log_stream(
> +             open_stream_param.logFileName,
> +             open_stream_param.logFilePathName,
> +             open_stream_param.maxLogFileSize,
> +             open_stream_param.maxLogRecordSize,
> +             open_stream_param.logFileFullAction,
> +             open_stream_param.maxFilesRotated,
> +             open_stream_param.logFileFmt,
> +             STREAM_TYPE_APPLICATION,
> +             twelveHourModeFlag,
> +             0,
> +             log_stream); // output
> +     if (rc_out == -1) {
> +             log_stream_delete(&log_stream);
> +             goto done_free_attr;
> +     }
> +
>       /* Create an association between this client and the stream */
>       int_rc = lgs_client_stream_add(client_id, log_stream->streamId);
>       if (int_rc == -1) {
>               TRACE("%s: lgs_client_stream_add Fail", __FUNCTION__);
> -             log_free_stream_resources(log_stream); /* Undo create new 
> stream */
> +             log_stream_delete(&log_stream);
>               rc_out = -1;
>               goto done_free_attr;
>       }
> @@ -606,7 +610,8 @@ int lgs_restore_one_app_stream(
>                /* Remove the stream handle and
>                 * remove the stream resources
>                 */
> -             lgs_remove_stream(client_id, log_stream);
> +             lgs_client_stream_rmv(client_id, log_stream->streamId);
> +             log_stream_delete(&log_stream);
>               rc_out = -1;
>               goto done_free_attr;
>       }


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

Reply via email to