[Pacemaker] [Problem] The "dampen" parameter of the attrd_updater command is ignored, and an attribute is updated.
renayama19661014 at ybb.ne.jp
renayama19661014 at ybb.ne.jp
Wed May 28 07:04:04 CEST 2014
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?
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.
Best Regards,
Hideo Yamauchi.
--- On Wed, 2014/5/28, renayama19661014 at ybb.ne.jp <renayama19661014 at ybb.ne.jp> wrote:
> Hi Andrew,
>
> Thank you for comment.
>
> > > --- attrd/command.c -----
> > > (snip)
> > > /* 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) {
> > > /* Create the name/id association */
> > > crm_node_t *peer = crm_get_peer(v->nodeid, host);
> > > crm_trace("We know %s's node id now: %s", peer->uname, peer->uuid);
> > > if(election_state(writer) == election_won) {
> > > write_attributes(FALSE, TRUE);
> > > return;
> > > }
> > > }
> > > }
> >
> > This is for 5194 right?
>
> No.
> I listed the same thing in 5194, but this does not seem to be 5194 basic problems.
>
> I try the reproduction of 5194 problems, but have not been able to yet reappear.
> Possibly 5194 problems may not happen in PM1.1.12-rc1.
> * As for 5194 matters, please give me time a little more.
>
> >
> > 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?)
>
> Best Regards,
> Hideo Yamauchi.
>
> --- On Wed, 2014/5/28, Andrew Beekhof <andrew at beekhof.net> wrote:
>
> >
> > On 27 May 2014, at 12:13 pm, renayama19661014 at ybb.ne.jp wrote:
> >
> > > Hi All,
> > >
> > > The attrd_updater command ignores the "dampen" parameter and updates an attribute.
> > >
> > > Step1) Start one node.
> > > [root at srv01 ~]# crm_mon -1 -Af
> > > Last updated: Tue May 27 19:36:35 2014
> > > Last change: Tue May 27 19:34:59 2014
> > > Stack: corosync
> > > Current DC: srv01 (3232238180) - partition WITHOUT quorum
> > > Version: 1.1.11-f0f09b8
> > > 1 Nodes configured
> > > 0 Resources configured
> > >
> > >
> > > Online: [ srv01 ]
> > >
> > >
> > > Node Attributes:
> > > * Node srv01:
> > >
> > > Migration summary:
> > > * Node srv01:
> > >
> > > Step2) Update an attribute by attrd_updater command.
> > > [root at srv01 ~]# attrd_updater -n default_ping_set -U 500 -d 3000
> > >
> > > Step3) The attribute is updated without waiting for the time of the "dampen" parameter.
> > > [root at srv01 ~]# cibadmin -Q | grep ping_set
> > > <nvpair id="status-3232238180-default_ping_set" name="default_ping_set" value="500"/>
> > >
> > > The next code seems to have a problem somehow or other.
> > >
> > > --- attrd/command.c -----
> > > (snip)
> > > /* 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) {
> > > /* Create the name/id association */
> > > crm_node_t *peer = crm_get_peer(v->nodeid, host);
> > > crm_trace("We know %s's node id now: %s", peer->uname, peer->uuid);
> > > if(election_state(writer) == election_won) {
> > > write_attributes(FALSE, TRUE);
> > > return;
> > > }
> > > }
> > > }
> >
> > This is for 5194 right?
> >
> > 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;
> >
> >
>
> _______________________________________________
> Pacemaker mailing list: Pacemaker at 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
>
More information about the Pacemaker
mailing list