[commit-keeper sha=488f11b] Отсутствие атомарности при сохранении новой версии #3
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Severity: major
Commit:
488f11b— alphaЗатронутые места:
service/version.goстроки 121–126В чём проблема
Отсутствие атомарности при сохранении новой версии. Если CreateVersion пройдет успешно, а UpdateLatestVersion упадет, документ останется в состоянии, когда последняя версия не обновлена, но в таблице версий появилась запись. Это приводит к потере данных (новая версия фактически 'исчезла' для системы, хотя место в БД занимает).
Цитата кода
Как исправить
Вариант 1 — Использовать транзакцию для объединения создания версии и обновления документа.
Необходимо гарантировать, что либо обе операции выполняются, либо ни одна из них.
Автоматическая проверка commit-keeper · модель
gemma4:31b·sha=488f11b