From 2497b9a98a74fdeeffcb4ece4f318a4068eda625 Mon Sep 17 00:00:00 2001 From: Mario Fetka Date: Thu, 23 Jul 2026 12:36:01 +0200 Subject: [PATCH] Record concurrent store release test --- .../testing/queue-store-concurrency-check.sh | 1 + docs/release-testing-0.7.md | 2 +- docs/test-evidence/0.7-r1.md | 41 +++++++++++++++++++ 3 files changed, 43 insertions(+), 1 deletion(-) diff --git a/contrib/testing/queue-store-concurrency-check.sh b/contrib/testing/queue-store-concurrency-check.sh index c9bab04..0ee2945 100755 --- a/contrib/testing/queue-store-concurrency-check.sh +++ b/contrib/testing/queue-store-concurrency-check.sh @@ -77,6 +77,7 @@ if ! $as_root "$admin_tool" user list | grep -Fx "$user" >/dev/null; then $as_root "$admin_tool" user add "$user" >/dev/null fi +$as_root /usr/bin/systemctl daemon-reload $as_root /usr/bin/systemctl start "$service" wait_services diff --git a/docs/release-testing-0.7.md b/docs/release-testing-0.7.md index b2afd87..a9ddffc 100644 --- a/docs/release-testing-0.7.md +++ b/docs/release-testing-0.7.md @@ -111,7 +111,7 @@ inputs and outputs is absent from the ZIP. | STQ-03 | Queue free-space calculation is correct on 32/64-bit and reserves space | [PASS](test-evidence/0.7-r1.md#stq-03) | | | | STQ-04 | Full-disk and unreadable-spool failures defer safely without mail loss | [PASS](test-evidence/0.7-r1.md#stq-04) | | | | STQ-05 | Retry, expiry, bounce, listing, hold/release, and deletion | [PASS](test-evidence/0.7-r1.md#stq-05) | | | -| STQ-06 | Concurrent delivery/read/move/delete/restart preserves integrity | | | | +| STQ-06 | Concurrent delivery/read/move/delete/restart preserves integrity | [PASS](test-evidence/0.7-r1.md#stq-06) | | | | STQ-07 | Backup/export and restore reproduce mail, metadata, contacts, calendars | | | | | STQ-08 | Invalid commands, oversized lines, and unauthorised access fail safely | | | | | STQ-09 | Per-user mail quota excludes contacts/calendars and atomically blocks concurrent growth | | | | diff --git a/docs/test-evidence/0.7-r1.md b/docs/test-evidence/0.7-r1.md index 2767428..6eb8e67 100644 --- a/docs/test-evidence/0.7-r1.md +++ b/docs/test-evidence/0.7-r1.md @@ -1579,3 +1579,44 @@ All temporary Queue entries were removed. The intentionally retained DSN is local release evidence; no external mail, SMTP relay, collector source, or LMTP endpoint was used. Bongo finished active/running as manager PID 1253396 with systemd result `success`. + +## STQ-06 + +Result: **PASS** + +Commit `6ab16588` added an installed Store concurrency diagnostic and its +systemd coordinator. The diagnostic creates deterministic messages in Queue +999 and records the SHA-256 digest of every Queue-owned message. Separate +threads then deliver through `QADDM`, read message bodies, move selected +objects, and delete selected objects. The coordinator restarts the real Bongo +service after the first eight deliveries while the Store threads remain +active; the remaining 16 held Queue entries must survive and deliver after +reconnection. + +The complete rebuilt suite passed 86 of 86 tests in 11.41 seconds. The +storetool test group also covers the fixture marker and the deterministic +move/delete policy. The commit was pushed to `master`, installed as +`mail-mta/bongo-9999::bongo` with GCC 15.3.0, and exercised twice on +2026-07-23. The clean evidence run was: + +```sh +./contrib/testing/queue-store-concurrency-check.sh +``` + +```text +STQ-06 PASS delivered=24 reads=22 moves=10 deletes=5 transient-reconnects=445 restart=1 +``` + +The five messages numbered as deletion targets were absent. Each of the +other 19 messages existed exactly once, in INBOX or `/mail/STQ06` according +to the test policy, and matched its pre-delivery Queue digest. Ten messages +were moved successfully. The reader observed 22 distinct messages, including +short-lived objects before concurrent deletion, without a content mismatch. +The reported transient reconnect attempts occurred only while the deliberate +service restart made the Store unavailable; every worker recovered. + +The diagnostic removed all 24 test messages and every held Queue entry. +Post-test listings of Queue, `stq06` INBOX, and `/mail/STQ06` were empty. +No external mail, SMTP relay, collector source, or LMTP endpoint was used. +Bongo finished active/running as manager PID 1264348 with systemd result +`success`.