KamoCRM

Indexing a listed page can no longer fail the listing

FixEmailService
Se descapó
28 de septiembre de 2026 a las 12:26 UTC
Autor
Kamo
Compromit
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)

Todos los cambios

Como lo que ves enviaste?

Todo llega a su espacio de trabajo por sí solo. Comience en el plan gratuito y lea esta página de nuevo en un mes.

Arranzar gratis para siempreVer Precios