[Openais] Application using AMF hang when sending saAmfHealthcheckConfirm...

Ola Lundqvist ola.lundqvist at tietoenator.com
Wed Sep 20 03:46:08 PDT 2006


Hans Feldt wrote:
> 
> For the "Framework-invoked" healthcheck type, the component should
> respond with amfResponse only, not confirm also. See 6.1.2.2.
> 
> "Component-invoked" healthchecks are not supported yet. At least not
> tested...

Ok, thanks a lot. I obviously misread the specification.

Regards,

// Ola

> See testamf1.c
> 
> Regards,
> Hans
> 
> Ola Lundqvist wrote:
>> Hi
>>
>> The following code is used:
>>
>> void healthcheckCallback(SaInvocationT invocation,
>>                          const SaNameT * componentName,
>>                          SaAmfHealthcheckKeyT * healthCheckKey)
>> {
>>     SaAisErrorT result;
>>     fprintf(stderr,"Healthcheck ");
>>     printSaName(componentName);
>>     fprintf(stderr, "\n");
>>     /* First send response */
>>     fprintf(stderr, " resp \n");
>>     result = _retrySaAmfResponse(saAmfHandle, invocation, SA_AIS_OK);
>>     if (result != SA_AIS_OK)
>>     {
>>         fprintf(stderr,"healthCheck respond error: response res is
>> %d\n", result);
>>         return;
>>     }
>>     do {
>>         fprintf(stderr, " C\n");
>>         result = saAmfHealthcheckConfirm(saAmfHandle,
>>                                          componentName,
>>                                          healthCheckKey,
>>                                          SA_AIS_OK);
>>         if (result == SA_AIS_ERR_TRY_AGAIN) {
>>             fprintf(stderr,"%d: TRY_AGAIN received\n", getpid());
>>             usleep (100000);
>>         }
>>     } while (result == SA_AIS_ERR_TRY_AGAIN);
>>     if (result != SA_AIS_OK)
>>     {
>>         fprintf(stderr,"healthCheck confirm error: response res is
>> %d\n", result);
>>         return;
>>     }
>>     fprintf(stderr, "healthCheck respond with ok (conf and response)\n");
>> }
>>
>> I get the " C" printout but not the "healthCheck respond with ok"
>> printout.
>>
>> So from what I can determine the saAmfHealthcheckConfirm hang the
>> process.
>>
>> Then amf detect this and try to restart the process. However as it is
>> stalled it can not restart it. I do not know why, more than it may not
>> be able to restart it as it is stalled...
>>
>> Is there any known problems with this function. (I'm using trunk, and
>> have also tried with 0.80.1 version).
>>
>> Regards,
>>
>> // Ola
>>
> 


-- 
 Ola Lundqvist, Civilingenjör Informationsteknologi
 TietoEnator R&D Services AB, Telecom Platforms
 Email:  ola.lundqvist at tietoenator.com
 Phone:  +46 (0)54-29 42 17



More information about the Openais mailing list