Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Сохраняется нерабочее состояние БД при аварийной остановке сервера во время выполнения api/users/confirmForemanRequest #55

Open
alexey2baranov opened this issue Aug 29, 2020 · 0 comments
Labels
bug Something isn't working
Projects

Comments

@alexey2baranov
Copy link
Collaborator

Проблема
Если на середине операции confirmForemanRequest сервер по какой-то причине падает, то в БД сохраняется промежуточное состояние, когда половина копников получила нового старшину, другая нет. Это приводит к тому что копное дерево становится нерабочим. Например не работают операции выбора и отмены старшин.

Как повторить
Загрузить БД с 160к копников и связей
Самым старшин копником П, у которого +160к силы, выбрать старшину С
Подтвердить старшиной С выбор копника П
Через 5 секунд остановить сервер

Что ожидалось
Ожидалось, что частичные изменения, которые успели сделаться за 5 секунд, не будут сохранены, и БД останется в таком состоянии, как до начала операции.

Что получилось
Получилось, что частичные изменения в БД сохранились. БД в таком случае стала в промежуточном непонятном состоянии между тем, какой она была до начала операции и тем, какой она должна была стать после полного завершения операции.

Предложение
Обернуть каждый роут в Копнике в отдельную транзакцию, включая и этот роут.

@alexey2baranov alexey2baranov added the bug Something isn't working label Aug 29, 2020
@alexey2baranov alexey2baranov added this to the v0.3.0 milestone Aug 29, 2020
@alexey2baranov alexey2baranov added this to Намечено in kopnik.org via automation Aug 29, 2020
@alexey2baranov alexey2baranov changed the title Сохраняется нерабочее состояние БД при аварийной остановке api/users/confirmForemanRequest Сохраняется нерабочее состояние БД при аварийной остановке сервера во время выполнения api/users/confirmForemanRequest Aug 29, 2020
@alexey2baranov alexey2baranov removed this from the v0.3.0 milestone Oct 9, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
kopnik.org
  
Намечено
Development

No branches or pull requests

1 participant