- Shipped
- September 5, 2026 at 7:56 PM UTC
- Author
- Kamo
- Commit
- 1547fb4
Three scheduled jobs read a row and skip the whole tick if they cannot. All three were skipping ticks during schema changes, and two of them said so in a way that sent anyone looking in precisely the wrong direction: "SystemConfiguration singleton not present — did KamoInitializerService run the migration?" The row was always there. The read had hit SQLState 40001 while a catalog version propagated. So: retry the read, and when it still fails, say what actually happened. The retry sits inside the existing try, ahead of the catch that swallows it. MeridianLinkPollService.pollAll gets the same treatment on its first statement. Its job logs the failure at ERROR and drops the tick, so a schema change cost a whole inbound polling cycle — loans that arrived in that window waited for the next one. Retried at that read rather than around pollAll(), which talks to MeridianLink and writes back; that is not work to repeat.