KamoCRM

A re-translation no longer deletes the translation it replaces

FixSecurityService
已装运
2026年9月28日 12:36 UTC
作者
Kamo
提交
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)

所有更改

就像你看到的运输?

所有东西都是靠自己运入你的工作空间的 从免费计划开始,一个月后再读这页.

永远开始自由查看定价