Hi Lars, Hi Yan, Hi All, Thank you for comment.
> On Tue, Jul 26, 2011 at 01:43:00PM +0900, [email protected] wrote: > > Hi Lars, > > Hi All, > > > > A cause to be delayed became clear. > > > > This problem occurs by a timing. > > > > When hbagent receives F_STATUS message while hbagent waits for a reply of > > the api communication, F_STATUS is performed queueing of. > > > > When hbagent caught the event from Heartbeat, this message is handled. > > Therefore, it is handled at the time of events such as one down of the > > inter-connect. > > > > Therefore, the active trap of the node is transmitted when inter-connect > > fell. > > > > /* > > * Read an API message. All other messages are enqueued to be read later. > > */ > > static struct ha_msg * > > read_api_msg(llc_private_t* pi) > > { > > > > for (;;) { > > struct ha_msg* msg; > > const char * type; > > > > pi->chan->ops->waitin(pi->chan); > > if (pi->chan->ch_status == IPC_DISCONNECT){ > > break; > > } > > if ((msg=msgfromIPC(pi->chan, 0)) == NULL) { > > ha_api_perror("read_api_msg: " > > "Cannot read reply from IPC channel"); > > continue; > > } > > if ((type=ha_msg_value(msg, F_TYPE)) != NULL > > && strcmp(type, T_APIRESP) == 0) { > > return(msg); > > } > > /* Got an unexpected non-api message */ > > /* Queue it up for reading later */ > > enqueue_msg(pi, msg); > > } > > /*NOTREACHED*/ > > return(NULL); > > } > > > > > > > > I think that the following correction is necessary. > > snmp_subagent/hbagent.c > > (snip) > > } else { > > > > /* snmp request */ > > snmp_read(&fdset); > > > > ret = handle_heartbeat_msg(); ----> read > >queueing msg.!! > > I suggest to place this before the select instead. > Or immediately after each call that involves the read_api_msg or > enqueue_msg. > > Probably easier to just place it before the select, or any other call > that may sleep or block for some time. Thank you for the suggestion of the correction. I want to wait for the opinion of Mr. Yan. > As hbagent.c was dropped from the heartbeat source tree three years ago, > you will have to carry that patch yourself, I'm affraid. > > Unless someone resurrects the hbagent for current heartbeat, > if still applicable, and possibly improves/integrates it > with the pacemaker side of things. We do not think about the correction of Heartbeat, too for the moment. We think that only the correction of Pacemaker-mgmt is enough. Best Regards, Hideo Yamauchi. > > > -- > : Lars Ellenberg > : LINBIT | Your Way to High Availability > : DRBD/HA support and consulting http://www.linbit.com > > DRBD® and LINBIT® are registered trademarks of LINBIT, Austria. > _______________________________________________ > Linux-HA mailing list > [email protected] > http://lists.linux-ha.org/mailman/listinfo/linux-ha > See also: http://linux-ha.org/ReportingProblems > _______________________________________________ Linux-HA mailing list [email protected] http://lists.linux-ha.org/mailman/listinfo/linux-ha See also: http://linux-ha.org/ReportingProblems
