Search loses a second User hit after overflow recovery in merge round 35b #1482

Open
opened 2026-10-08 21:33:33 +00:00 by kayg · 2 comments
Owner

During merge round #1479, the release-server Search chaos probe reported two misses after a watcher overflow and an intentional server restart. The source files remain in the Home. This is a Search Index availability finding; source data loss is not established.

Merged head: d71fa0bca (release application bytes built from d2247f9fc; earlier test-only commits do not change Search behavior). Base: cc1af3c12.

Merged output:

  • NFD canonical Unicode query missed the expected filename café-nfc; results contained the Tag receipt and café-nfc's paired entry, but not all expected fixture names.
  • The second User lost a committed Search hit during rebuild/overflow recovery.

The same focused Search probe against the production cc1af3c12 release reported the NFD miss. It did not report the second User's lost hit. Therefore the Unicode failure is pre-existing. The second-User failure is an unresolved merged-head regression or timing-dependent failure. Do not promote this merge until that difference is understood.

Commands: run tests/adversarial/run-split.sh with the real release binary and ADVERSARIAL_SEARCH_CHAOS_ONLY=1 for the focused comparison. Retained local logs: artifacts/merge35b/adversarial/full-hdd.log and search-production.log. The build host was busy. SLOW-only findings are excluded from this report.

During merge round #1479, the release-server Search chaos probe reported two misses after a watcher overflow and an intentional server restart. The source files remain in the Home. This is a Search Index availability finding; source data loss is not established. Merged head: d71fa0bca (release application bytes built from d2247f9fc; earlier test-only commits do not change Search behavior). Base: cc1af3c12. Merged output: - NFD canonical Unicode query missed the expected filename `café-nfc`; results contained the Tag receipt and `café-nfc`'s paired entry, but not all expected fixture names. - The second User lost a committed Search hit during rebuild/overflow recovery. The same focused Search probe against the production cc1af3c12 release reported the NFD miss. It did not report the second User's lost hit. Therefore the Unicode failure is pre-existing. The second-User failure is an unresolved merged-head regression or timing-dependent failure. Do not promote this merge until that difference is understood. Commands: run `tests/adversarial/run-split.sh` with the real release binary and `ADVERSARIAL_SEARCH_CHAOS_ONLY=1` for the focused comparison. Retained local logs: `artifacts/merge35b/adversarial/full-hdd.log` and `search-production.log`. The build host was busy. SLOW-only findings are excluded from this report.
Author
Owner

Correction to the Unicode evidence above: the probe expects both NFC-normalized titles, café-nfc.txt and café-nfd.txt. The merged NFD query returned the Tag receipt and café-nfc.txt, so café-nfd.txt was the missing filename. Production returned only the Tag receipt for the same query. The canonical-query failure is therefore pre-existing; production actually misses both fixture names in this run.

The second User's lost committed hit remains the important difference: merged reported it, the production comparison did not. This is still unresolved. Neither run establishes source data loss. The recorded merged line is FAIL search chaos: second User lost its committed Search hit during rebuild or overflow recovery.

Correction to the Unicode evidence above: the probe expects both NFC-normalized titles, `café-nfc.txt` and `café-nfd.txt`. The merged NFD query returned the Tag receipt and `café-nfc.txt`, so `café-nfd.txt` was the missing filename. Production returned only the Tag receipt for the same query. The canonical-query failure is therefore pre-existing; production actually misses both fixture names in this run. The second User's lost committed hit remains the important difference: merged reported it, the production comparison did not. This is still unresolved. Neither run establishes source data loss. The recorded merged line is `FAIL search chaos: second User lost its committed Search hit during rebuild or overflow recovery`.
Author
Owner

Focused Search comparison complete (#1479): five runs per exact release build, alternating production cc1af3c12 and merged 16250888d application code. Original overflow barriers and four SIGKILL/restart phases are unchanged. Second User committed-hit loss: production 0/5, merged 0/5. The original one-off loss is not reproduced; this bounded sample gives no merged-only failure to bisect and does not prove a timing cause. Keep this issue open for the original loss.

The whole Search probe is not green: both builds fail Unicode checks in 5/5 runs. Exact findings and per-run comparison are retained in artifacts/m35btriage/search-summary.json and search-{prod,merged}-{1..5}.log. The four Search result-matching unit tests pass in each run. Separate the pre-existing Unicode result from the unreproduced second-User loss. No Search application code or assertion changed.

Focused Search comparison complete (#1479): five runs per exact release build, alternating production cc1af3c12 and merged 16250888d application code. Original overflow barriers and four SIGKILL/restart phases are unchanged. Second User committed-hit loss: production 0/5, merged 0/5. The original one-off loss is not reproduced; this bounded sample gives no merged-only failure to bisect and does not prove a timing cause. Keep this issue open for the original loss. The whole Search probe is not green: both builds fail Unicode checks in 5/5 runs. Exact findings and per-run comparison are retained in artifacts/m35btriage/search-summary.json and search-{prod,merged}-{1..5}.log. The four Search result-matching unit tests pass in each run. Separate the pre-existing Unicode result from the unreproduced second-User loss. No Search application code or assertion changed.
Commenting is not possible because the repository is archived.
No labels
No milestone
No project
No assignees
1 participant
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
kayg/calternal-v0#1482
No description provided.