From f251af3f68a38e2f83154ed80be92667326d286c Mon Sep 17 00:00:00 2001
From: Valery Kharseko <vharseko@3a-systems.ru>
Date: Sat, 07 Nov 2026 11:48:53 +0000
Subject: [PATCH] [#1208] Test directory and replication server crashes and restarts (#1244)
---
.github/scripts/replication/collect.sh | 15 +++++++++++----
1 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/.github/scripts/replication/collect.sh b/.github/scripts/replication/collect.sh
index a67b25a..eb766c1 100644
--- a/.github/scripts/replication/collect.sh
+++ b/.github/scripts/replication/collect.sh
@@ -48,6 +48,7 @@
# The summary of the run, into $OUT/summary.md and, in GitHub Actions, the job summary
summarize() { # <result>
+ local completed=0
{
echo "### Replication convergence ($TOPOLOGY): $1"
echo
@@ -57,13 +58,19 @@
echo "| load | $DURATION s on each directory server, at most $LOAD_MOD_RATE modifications and $LOAD_ADD_RATE adds or deletes a second |"
echo "| seeded users | $SAMPLE_DATA |"
if [ -s "$OUT/disturbances.txt" ]; then
+ completed=$(wc -l <"$OUT/disturbances.txt")
awk -v start="${LOAD_START_MS:-0}" '{ printf "| disturbance | %s of %s %d s into the load, serving again %d s later |\n",
$4, $3, ($1 - start) / 1000, ($2 - $1) / 1000 }' "$OUT/disturbances.txt"
- elif [ "$DISTURBANCE" != none ] && [ -z "${LOAD_START_MS:-}" ]; then
+ fi
+ if [ "$DISTURBANCE" != none ] && [ -z "${LOAD_START_MS:-}" ]; then
# run.sh sets LOAD_START_MS as the load starts
echo "| disturbance | $DISTURBANCE at $DISTURB_AT s into the load, not started: the run ended before the load |"
- elif [ "$DISTURBANCE" != none ]; then
- echo "| disturbance | $DISTURBANCE at $DISTURB_AT s into the load, not completed |"
+ elif [ "$DISTURBANCE" != none ] && [ "$completed" -lt "$DISTURB_STEPS" ]; then
+ if [ "$completed" -eq 0 ]; then
+ echo "| disturbance | $DISTURBANCE scheduled at $DISTURB_AT s into the load, not completed: 0 of $DISTURB_STEPS steps completed |"
+ else
+ echo "| disturbance | $DISTURBANCE not completed: $((completed)) of $DISTURB_STEPS steps completed |"
+ fi
fi
echo "| converged | ${CONVERGED_IN:--} s after the load |"
if [ -s "$OUT/samples.txt" ]; then
@@ -96,7 +103,7 @@
fi
if ls "$OUT"/logs/*.expected >/dev/null 2>&1; then
echo
- echo "Handshakes failed while a disturbed server came back, which the disturbance expects (logs/*.expected):"
+ echo "Errors logged while a disturbed server went down and came back, which the disturbance expects - failed handshakes, and what a kill leaves behind (logs/*.expected):"
echo
echo '```'
for f in "$OUT"/logs/*.expected; do
--
Gitblit v1.10.0