- Ya
- 9 Agosti 2026, 04:46 UTC
- Mwandishi
- Kamo
- Ahadi ya
- cfdf8f7
StorageSnapshotSweep.catchUp carried @Transactional(REQUIRES_NEW) and was called from sweep() on the same bean. Spring applies @Transactional through a proxy, so a self-call bypasses it entirely — the annotation described a boundary that did not exist, and the guarantee it was there for (one organization's failure cannot affect the rest) was resting on nothing. Moves the per-organization work into OrgStorageSnapshotWriter so the sweep calls across a bean boundary and the boundary is real. Also drops the per-page-load scan for the latest snapshot date in favour of the repository's MAX query.