On 28 May 2014, at 4:36 pm, renayama19661...@ybb.ne.jp wrote: > Hi Andrew, > >> Perhaps try: >> >> diff --git a/attrd/commands.c b/attrd/commands.c >> index 7f1b4b0..7342e23 100644 >> --- a/attrd/commands.c >> +++ b/attrd/commands.c >> @@ -464,6 +464,15 @@ attrd_peer_update(crm_node_t *peer, xmlNode *xml, bool >> filter) >> >> a->changed |= changed; >> >> + if(changed) { >> + if(a->timer) { >> + crm_trace("Delayed write out (%dms) for %s", a->timeout_ms, >> a->id); >> + mainloop_timer_start(a->timer); >> + } else { >> + write_or_elect_attribute(a); >> + } >> + } >> + >> /* this only involves cluster nodes. */ >> if(v->nodeid == 0 && (v->is_remote == FALSE)) { >> if(crm_element_value_int(xml, F_ATTRD_HOST_ID, (int*)&v->nodeid) == >> 0) { >> @@ -476,15 +485,6 @@ attrd_peer_update(crm_node_t *peer, xmlNode *xml, bool >> filter) >> } >> } >> } >> - >> - if(changed) { >> - if(a->timer) { >> - crm_trace("Delayed write out (%dms) for %s", a->timeout_ms, >> a->id); >> - mainloop_timer_start(a->timer); >> - } else { >> - write_or_elect_attribute(a); >> - } >> - } >> } >> >> void > > Okay! > I confirm movement.
"movement" == it works as expected now? or that you're going to check :) > > Many Thanks! > Hideo Yamauchi. > > --- On Wed, 2014/5/28, Andrew Beekhof <and...@beekhof.net> wrote: > >> >> On 28 May 2014, at 4:10 pm, Andrew Beekhof <and...@beekhof.net> wrote: >> >>> >>> On 28 May 2014, at 3:04 pm, renayama19661...@ybb.ne.jp wrote: >>> >>>> Hi Andrew, >>>> >>>>>> I'd expect that block to hit this clause though: >>>>>> >>>>>> } else if(mainloop_timer_running(a->timer)) { >>>>>> crm_info("Write out of '%s' delayed: timer is running", a->id); >>>>>> return; >>>>> >>>>> Which point of the source code does the suggested code mentioned above >>>>> revise? >>>>> (Which line of the source code is it?) >>>> >>>> Is it the next cord that you pointed? >>> >>> right >>> >>>> >>>> void >>>> write_attribute(attribute_t *a) >>>> { >>>> int updates = 0; >>>> (snip) >>>> } else if(mainloop_timer_running(a->timer)) { >>>> crm_info("Write out of '%s' delayed: timer is running", a->id); >>>> return; >>>> } >>>> (snip) >>>> >>>> At the time of phenomenon of the problem, the timer does not yet block it >>>> by this processing because it does not start. >>> >>> Thats the curious part >> >> Perhaps try: >> >> diff --git a/attrd/commands.c b/attrd/commands.c >> index 7f1b4b0..7342e23 100644 >> --- a/attrd/commands.c >> +++ b/attrd/commands.c >> @@ -464,6 +464,15 @@ attrd_peer_update(crm_node_t *peer, xmlNode *xml, bool >> filter) >> >> a->changed |= changed; >> >> + if(changed) { >> + if(a->timer) { >> + crm_trace("Delayed write out (%dms) for %s", a->timeout_ms, >> a->id); >> + mainloop_timer_start(a->timer); >> + } else { >> + write_or_elect_attribute(a); >> + } >> + } >> + >> /* this only involves cluster nodes. */ >> if(v->nodeid == 0 && (v->is_remote == FALSE)) { >> if(crm_element_value_int(xml, F_ATTRD_HOST_ID, (int*)&v->nodeid) == >> 0) { >> @@ -476,15 +485,6 @@ attrd_peer_update(crm_node_t *peer, xmlNode *xml, bool >> filter) >> } >> } >> } >> - >> - if(changed) { >> - if(a->timer) { >> - crm_trace("Delayed write out (%dms) for %s", a->timeout_ms, >> a->id); >> - mainloop_timer_start(a->timer); >> - } else { >> - write_or_elect_attribute(a); >> - } >> - } >> } >> >> void >> >> >> >>
signature.asc
Description: Message signed with OpenPGP using GPGMail
_______________________________________________ Pacemaker mailing list: Pacemaker@oss.clusterlabs.org http://oss.clusterlabs.org/mailman/listinfo/pacemaker Project Home: http://www.clusterlabs.org Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf Bugs: http://bugs.clusterlabs.org