KamoCRM

Indexing a listed page can no longer fail the listing

FixEmailService
Shiked
28 Eylül 2026 12:26 UTC
Yazar
Kamo
Commit
122e43d

recordSyncedPage was @Transactional and caught every exception of its own. The index repositories join the caller's transaction, so a write that met a concurrent one (Yugabyte 40001: a read restart, or the indexer storing the same new message) marked it rollback-only on the way out; the catch could not clear that, and the commit threw UnexpectedRollbackException past it into EmailController.listMessages, which answered 500 with the page of mail already in hand. The rows are now written in a transaction this method opens and ends before its catch, retried on a database conflict by TransientDbRetry. The Redis checkpoint is taken only after that commit: written inside the transaction, a failed commit left it vouching for rows, and flags, that were rolled back. (SP99 T6)

Tüm değişiklikler

Kargoyu gördüğünüz gibi?

Tüm bunlar kendi başına iş alanınıza geliyor. Ücretsiz plana başlayın ve bu sayfayı bir ay içinde tekrar okuyun.

Sonsuza Kadar Ücretsiz BaşlangıçFırsatları Görüntüle