On 12/26/06, home_king <[EMAIL PROTECTED]> wrote:
Hi, all.

I have two problems about the election.

First, accrodding to the statement in fsa_defines.h,
"N sends ELECTION messages to all nodes that occur earlier in
      the CCM's membership list."
However, in fact, the code broadcasts VOTE messages to all the other
members, in regradless of the (born-on) priority. Why?

Second, it seems there exists a bug in the code: some node may take
part in the election when it receives a VOTE message from its neighbour,
which owns a low priority (the receiver win over the sender), and it will
ignores the VOTE of neighbour and broadcast out its own VOTE message,
right?

I notices that meanwhile it will destroy the "voted" hash-table, which
records the votes for itself from others. Here problem comes: what about
the node launchs the VOTE twice in non-atomic manner? If thus,
the two VOTE's NO-VOTE messages will mix up in the "voted" and
do_election_count_vote() do not filter out the NO-VOTE messages with
old "current_election_id" (Instead, it just logs an error).

what does the error look like?

Given 3 nodes, node3 is DC.
node3 performs slowly for some reason, and then node1 broadcasts a VOTE.
node2's priority is higher than node1, so it sends out its VOTEs  to
node1 & node3, so does node3.

NOVOTE from node2 is receviced by node3, the size of "voted" becomes 1.
However, befores receiving the NOVOTE from node1, the node3 launchs
another VOTE and zero the "voted"! Because it receives the VOTE from
node2. Now three NOVOTE messages will come later! But two NOVOTE is
enough to make node3 quits the S_ELECTION. The redundant NOVOTE will
stay in the new "voted" lonely and infects the later elections.

why?

probably because i messed up.
there were reasons (that i no longer clearly recall) why the algorithm
is no longer a pure bully election.

how repeatable is this problem?
if you can provide the logs for this it may also help me.
_______________________________________________________
Linux-HA-Dev: [email protected]
http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev
Home Page: http://linux-ha.org/

Reply via email to