[I128-2685] ProfileManager создает повторные UpdateChildren для одного профиля


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


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

Компоненты: ИРБИС 128. Модуль ProfileManager - Подсистема управления профилями настроек модулей

Завершено: 14.07.2026 11:44

Проблема После сохранения одного профиля в очереди может появляться очень большое количество задач ProfileManager/UpdateChildren.

Сценарий воспроизведения

  1. Открыть редактор профиля с дочерними профилями.
  2. Сохранить один измененный профиль.
  3. Фактический результат: очередь начинает заполняться повторяющимися ProfileManager/UpdateChildren, хотя изменен один профиль.

Ожидаемый результат Для одного профиля создается не более одной актуальной задачи обновления дочерних профилей. Если данные дочернего профиля фактически не изменились, запись не сохраняется повторно и новая задача не ставится.

Причина Задачи ProfileManager/UpdateChildren создаются без dedupstring и restartonerror=false, а обработчик может сохранять дочернюю запись без фактического изменения. Это запускает повторное обновление потомков и раздувает очередь.

Решение Добавить стабильный dedupstring для пары база/SID, отключить бесконечный restartonerror, проверять фактическое изменение записи перед SaveAndUpdateRecord и безопасно обрабатывать отсутствующие managed variables.

Риски Затронута логика наследования настроек профилей. Нужно проверить сохранение родительского профиля, обновление дочернего профиля и отсутствие повторного роста очереди.

-

I1282685: ProfileManager создает повторные UpdateChildren для одного профиля. Scope: ProfileManager; target release/2026.2; branch `bugfix/I1282685profilemanagerupdatechildren-dedup`. Draft before branch/commit/push/readback; do not publish until the gates in the source notebook pass.

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

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

modules/ProfileManager/Actions/UpdateChildren.inc

modules/ProfileManager/__call/UpdateChildren.inc

modules/ProfileManager/__call/UpdateDiff.inc