KamoCRM

A re-translation no longer deletes the translation it replaces

FixSecurityService
Se descapó
28 de septiembre de 2026 a las 12:36 UTC
Autor
Kamo
Compromit
6e3266b

Since 1f715e4 (2026-09-23) saveLocaleTranslation loaded the locale's row to decide whether the count moved, bulk-deleted it and saved a new one. The load left the row managed in the session, which a bulk delete does not touch, so Hibernate merged the new row onto it: unchanged text wrote nothing and the delete stood, changed text became an UPDATE of 0 rows retried three times. 331 commit logs are counted complete with 6,944 translations missing, which the sweep will never revisit. Two translations of one commit log also ran side by side: the one started when it landed, and the sweep's, which took up any incomplete commit log, the first one's included, and re-queued slow ones every five minutes. They collided on the rows and the whole-entity counter save (40001). The save is now an upsert and a recount from the rows, two statements that never touch the session (CommitLogTranslationStore, SecurityService-local). The sweep takes up only commit logs at least 15 minutes old, and a pod never queues a commit log it has queued or is translating. **************** puts the damaged counts right once this is live, and the sweep refills them. (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