[I128-2683] При одновременном создании записей могли смешиваться данные


НАЧАЛО >> Оглавление >> Общее описание >> История изменений >> Что нового в проекте I128 >> Версия 2026.2.4 >> [I128-2683] При одновременном создании записей могли смешиваться данные📄 Скачать в DOCX


Тип Версия Статус Приоритет Исполнитель
⚙️ Исправление ошибок 2026.2.4 🔘 Завершено Средний Ilya Mikhaylenko

Компоненты: ИРБИС 128. Модуль Database - Управление базами данных, ИРБИС 128. Модуль General - Функции общего назначения, ИРБИС 128. Модуль he3 - Табличная форма ввода данных, ИРБИС 128. Модуль Record - Запись ИРБИС, ИРБИС 128. Модуль Security - Подсистема безопасности

Завершено: 14.07.2026 10:32

При параллельном создании новых библиографических записей разными пользователями временное состояние записи до присвоения MFN могло быть связано с общим ключом БД/MFN. В результате данные одной новой записи могли попасть в рабочую сессию другой новой записи, а сохранение завершалось ошибками ФЛК вида mfn=-1, отсутствует заглавие или отсутствуют сведения об экземплярах.

Исправлено: временное состояние новой записи теперь изолируется по SID до появления реального MFN. Генерация SID/GUID переведена на более надежный 128-битный генератор, а создание ID черновика получает повторную попытку при обнаруженной коллизии.

PR: https://bitbucket.irbis128.ru/projects/I128/repos/irbis128/pull-requests/994

-

I128-2683 исправляет системный риск смешивания данных при параллельном создании новых записей: SID/GUID теперь создаются надежнее, а временное состояние новой записи до присвоения MFN изолируется по SID. Целевая ветка PR: release/2026.2.

Куда смотреть:

Изменения по файлам:

modules/Record/__call/SetSid.inc

modules/Record/__call/SidSave.inc

modules/Record/__call/SidReload.inc

modules/Record/__call/GetBySid.inc

modules/Database/__call/SaveAndUpdateRecord.inc

modules/General/api.php

modules/Record/api.php

classes/GUIDFiles.php

modules/Security/api.php

modules/he3/classes/DraftService.php

-

There was a merge conflict automatically merging this branch

1. Связанные задачи

1.1. 🔗 Соответствует задача: SD-874

[SD-874] не сохранилась книга и менялись местами данные книг двух пользователей Статус: Ведется работа над ошибкой | Автор: KashirinaTV