From 87d11a882a442fda4e7e7d8005024b73f50265e2 Mon Sep 17 00:00:00 2001 From: Xudong Sun Date: Thu, 24 Oct 2024 21:44:50 -0500 Subject: [PATCH] wording Signed-off-by: Xudong Sun --- discussion/fairness/fairness-on-controller-race.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/discussion/fairness/fairness-on-controller-race.md b/discussion/fairness/fairness-on-controller-race.md index fa0c18e5..a3521eb2 100644 --- a/discussion/fairness/fairness-on-controller-race.md +++ b/discussion/fairness/fairness-on-controller-race.md @@ -22,7 +22,8 @@ for { ... // do something } ``` -and there is a set of other controllers $S$ ($S$ won't grow) that each of them runs: + +And there is a set of other controllers $S$ ($S$ won't grow) that each of them runs: ``` for { ... // do something @@ -33,7 +34,9 @@ for { ... // do something } ``` -And `modify1` and `modify2` modifies different parts of the object. + +Assume that initially `P` holds true for the object in etcd and only $C$'s `write` invalidates `P`. +That is, $C$ will retry its `write` until it succeeds. The problem is how to prove that $C$ eventually successfully writes the object (for at least once) with some fairness assumption. Since $C$ races with every controller in $S$ on the version number, the fairness assumption needs to imply that $C$ eventually wins the race (for at least once).