https://bugzilla.wikimedia.org/show_bug.cgi?id=57613

--- Comment #5 from Marc A. Pelletier <[email protected]> ---
I think that's a sound approach; my own initial brain experiments were mostly
centered about a network of peers (similar to your master-only scenario); but I
agree that separating master vs worker conceptually is the best approach (even
if, in practice, masters will also be workers in small installations).

The problem with non-idempotents jobs being potentially executed more than one
time, I think, is manageable:

1) have a means to mark a job as having side effects so that
2) have a deterministic map for jobs to exactly one (random) worker

such that a job marked as having side effects and absolutely needing exactly
one run can only be scheduled on the mapped node and will simply fail
otherwise.  This way, in case of network partition, only the masters that can
still speak to the selected node would even attempt the run.

This trades the risk of the run being executed more than once with the risk
that it isn't executed at all -- but since it's selectable the user can make
the appropriate tradeoff depending on what is best for the specific situation.

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are on the CC list for the bug.
_______________________________________________
Wikibugs-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikibugs-l

Reply via email to