KamoCRM

A re-translation no longer deletes the translation it replaces

FixSecurityService
Expédié
28 septembre 2026 à 12:36 UTC
Auteur
Kamo
Commite
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)

Tous les changements

Comme ce que tu vois expédier ?

Tout cela arrive dans votre espace de travail par lui-même. Commencez sur le plan gratuit et relisez cette page dans un mois.

Commencez gratuitement pour toujoursPrix de visualisation