SAF-AIS support
saAmfCSISetCallbackT(quiescing) response bug?
Hi all,
A non-SAF compilant problem found during debugging.
Refer to SAI-AIS-AMF-B.02.01 page 257 diagram, after component
receive saAmfCSISetCallbackT(quiescing) it will respond middleware
with saAmfResponse(ok) to indicate the callback is received. After
service quiescing is complete (which may take quite a while), component
will notify middleware with saAmfCSIQuiescingComplete to indicate
it enters quiesced state.
Openclovis seems to designed with the assumption that saAmfCSISetCallbackT(quiescing)
is respond only with saAmfCSIQuiescingComplete. So, if component invoke
saAmfResponse(ok) AND saAmfCSIQuiescingComplete after receive saAmfCSISetCallbackT(quiescing). saAmfCSIQuiescingComplete got dropped because cpmInvocationGet in _clAmsSACSIQuiescingComplete failed, thus problem occurs (eg. component don't get SaAmfComponentTerminateCallbackT when shutdown SU)
_clCpmClientCompProtectionGroupTrack bug?
Hi all,
SaAmfCallbacksT::saAmfProtectionGroupTrackCallback is always invoked
in the context of clEoJobQueueProcess instead of in the context of
thread which waiting on saAmfDispatch.
Problem lies in _clCpmClientCompProtectionGroupTrack hardcoded to
choose dispatching thru handlePGTrack instead of cpmPostCallback.
I notice there is implementation which choose dispatch path depending
on ClCpmInstanceT::readFd, but the code is commented out. Is it
deliberately chosen to only dispatching thru handlePGTrack?
Thanks
Eddy
saAmfProtectionGroupTrack bug
saAmfProtectionGroupTrack failed, because AIS spec mandates SaNameT
"the value field contains the characters in the string without the terminat-
ing null character, and the length field the number of these characters"
But clAmsParserEntityAttrParser saves ams entity's ClNameT length with
the trailing null character, so clAmsCSIAddToPGTrackList failed to
clAmsEntityDbFindEntity csi in amsDB.
There should be conversion between SaNameT and ClNameT, or ClNameT conformant
to AIS spec. I doubt there might other similar problem in the code.
Thanks
Eddy
AIS Cluster Membership API callbacks
Hi,
I have written a few example programs based on csa101 that exercise some AIS APIs (more precisely, AMF, CKPT and CLM APIs). Most of the exercised feature work well, but I have found one problem: I am not been able to use the async APIs of CLM, because the platform does not invoke the CLM callbacks. AMF and CKPT callbacks are invoked properly in very similar conditions.
This may of course be a bug in my example programs, but - just to be sure - I would like to ask you, whether CLM callbacks are supported by the current release. If the answer is yes, are there any special hints on their usage?
BR
József
Do you have a threading model for AIS compatible dispatching?
Hi,
How is it possible to write an AMF component that wants to control the dispatching of callbacks using saAmfDispatch? In the OpenClovis ASP User Guide you briefly write about two threading models supported (pages 137-138) but in fact in both models the thread in which AMF callbacks is invoked is owned by the platform. Thus, both models seem to exclude the possibility of an application thread using saAmfDispatch() to control the invocation of the callback itself.
BR József
