satellite/durability: calculate busfactor for classes

WARNING: THIS COMMIT IS ACCIDENTALLY MERGED WITH THE PREVIOUS ONE. BUT I KEEP THE COMMIT MESSAGE FOR IT’S VALUE. CODE IS IN THE PARENT

As Wikipedia defines, bus fator is "the minimum number of team members that have to suddenly
disappear from a project before the project stalls due to lack of knowledgeable or competent personnel."

We use similar definition, but instead of team members, we check the pieces of one segments.

For example, if we have a segment with 10 pieces in US, 8 pieces in DE and 3 pieces in other countries,
traditional bus factor (50) is 2, as we need two contry down (10 + 8) two loose at least 50% of the pieces (10.5).
Loosing just one contry, we will have <50% of th pieces.

In our implementation we are not interested about the 50% threshold, but a configurable value.

As a default we use the repairThreshold - minimalNumber.

With the usual defaults (54 - 29) it's 25. So bus factor can be defined sg. like this:

How many GROUP should disappear from the network to drop the healthy count from repair threshold to the minimum number.

This is critical, as we don't repair anything above the repair threshold, but heatlhy piece number can drop
if the given amount of groups (subnets, countries...) live the network...

Change-Id: I606f091469b45e90f3a9eb8fcff65a834ff27a14
This commit is contained in:
Márton Elek 2023-11-01 10:18:13 +01:00
parent 0ef3247d44
commit 7d8f0845fd
No known key found for this signature in database

Diff Content Not Available