From c4d91fab9e005179803a3ab978e8f2896a5a5b16 Mon Sep 17 00:00:00 2001
From: Valery Kharseko <vharseko@3a-systems.ru>
Date: Wed, 28 Oct 2026 16:25:28 +0000
Subject: [PATCH] [#1208] Restart a directory server during the load of the replication convergence run, in rows of its own (#1233)
---
.github/scripts/replication/collect.sh | 19 +++++++++++++++++++
1 files changed, 19 insertions(+), 0 deletions(-)
diff --git a/.github/scripts/replication/collect.sh b/.github/scripts/replication/collect.sh
index 8aee017..a67b25a 100644
--- a/.github/scripts/replication/collect.sh
+++ b/.github/scripts/replication/collect.sh
@@ -56,6 +56,15 @@
echo "| servers | $ALL_NODES |"
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
+ 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
+ # 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 |"
+ fi
echo "| converged | ${CONVERGED_IN:--} s after the load |"
if [ -s "$OUT/samples.txt" ]; then
awk '{ t[$1] = 1 } END { for (s in t) { n++; if (!min || s < min) min = s; if (s > max) max = s }
@@ -85,6 +94,16 @@
done | grep . || echo "none"
echo '```'
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
+ echo '```'
+ for f in "$OUT"/logs/*.expected; do
+ sed "s/^/$(basename "$f" .expected): /" "$f"
+ done
+ echo '```'
+ fi
if ls "$OUT"/load/*.csv >/dev/null 2>&1; then
echo
echo "| client | average ops/s | intervals |"
--
Gitblit v1.10.0