[Pacemaker] Improvement for the communication failure of booth

yusuke iida yusk.iida at gmail.com
Tue Mar 26 04:38:32 UTC 2013


Hi, Jiaju

A reply becomes slow, and I'm sorry.

2013/2/12 Jiaju Zhang <jjzhang at suse.de>:
> Hi Yusuke,
>
>
> Just look at the patch, it seems to me that it wanted to differentiate
> every state like "init", "waiting promise", "promised", "waiting accept"
> and "accepted", etc ... However I'm afraid in this way, it can only
> differentiate "accepted" or "not accepted" (for the "not accepted" case
> here, it will shows "waiting accept").

Yes. I wanted to display a communication state of paxos.
It is because it thought that it was useful for the analysis of a
communication state.
I thought that the state of paxos was as follows.

State"init" shows the state where paxos is not communicated.

State "waiting promise" shows the state where it is waiting to
transmit a "PROMISING" message from an acceptor, after a proposer
transmits a "PREPARING" message.

State "promised" shows the state where the "PROMISING" message was
received from the acceptor.

"waiting promise" and "promised" are displayed only in proposer.

State "waiting accept" shows the state where it is waiting to transmit
a "ACCEPTING" message from other acceptors, after each acceptor
receives a "PROPOSING" message.

State "accepted" shows the state where the "ACCEPTING" message was
received from the acceptor.

Is my thought wrong somewhere?


>
> In acceptor_accepted function,
>
> +       pi->state_monitoring = 1;
> +       for (i = 0; i < booth_conf->node_count; i++)
> +               pi->node[i].connect_state = PROPOSING;
> +
>
> For this acceptor, every node was set to PROPOSING state here, but we cannot
> make sure what state other nodes were in at that moment.

I made processing here because I wanted to make a state of paxos
"accept waiting".
PROPOSING of enum was used in order to save the time and effort which
defines a new variable.
Possibly another variables, such as WAITING_ACCEPT, should just newly
have been made here.

Regards,
Yusuke
>
> Thanks,
> Jiaju
>
>
>



--
----------------------------------------
METRO SYSTEMS CO., LTD

Yusuke Iida
Mail: yusk.iida at gmail.com
----------------------------------------




More information about the Pacemaker mailing list