Daniel-Constantin Mierla writes:
reordering does not help with round robin operations
and parallel
write.
i know, but it would solve the problem in the common case of a
master-master replicated mysql cluster, where it does not matter, which
of the two mysql servers is used.
The list of connections is cloned by each process in
private memory (as
it needs to be one db connection per process). A connecton can be part
of many clusters.
in that case each process could reorder the list on its own. when
connection on top of the list does not respond, it would be moved to the
end of the list. that means one miss per process, which would be
ok to me.
For each connection there is a pointer to shared
memory where to store
the state (active/inactive), with the goal that when an operation fails
in one process, all the others will consider the connection inactive
until is reactivated. While the shared pointer is there, the logic
itself is not implemented yet.
that solution would be ok too, but would require a timer process to do
the checking and reactivation.
-- juha