При эксплуатации распределенных информационных баз (РИБ), особенно когда в конфигурацию внедрены РасширенияКонфигурации (в том числе официальные патчи от фирмы 1С), многие администраторы и разработчики сталкиваются с критической ошибкой: Ошибка записи данных в файл сообщения обмена: Расширение конфигурации, используемое в распределенной информационной базе, заблокировано в другом сеансе. В этой статье мы подробно разберем, почему возникает этот конфликт и какие шаги предпринять для его устранения.
Механизм РИБ при формировании сообщения обмена требует монопольного доступа к объектам метаданных, которые были модифицированы или дополнены с помощью расширений. Когда количество узлов обмена превышает 30-50 единиц, а фоновые задания на отправку данных запускаются одновременно, возникает ситуация «гонки». Несколько потоков фоновых заданий пытаются захватить расширение для записи изменений, что приводит к блокировке на уровне платформы.
Первым и самым важным шагом является обновление платформы 1С. Разработчики признали проблему (ошибка №30174983), и исправление было включено в актуальные релизы. Проверьте вашу версию платформы и, при необходимости, обновитесь до следующих релизов (или выше):
8.3.17.19898.3.18.13348.3.19.838 (и выше)Именно в этих версиях была пересмотрена логика блокировки расширений при параллельном создании сообщений для периферийных узлов.
Если обновление платформы не решило проблему полностью или у вас очень большое количество узлов, необходимо изменить стратегию выполнения обменов:
Конфигуратор. Любые изменения или просто открытая сессия конфигуратора могут блокировать нормальное прохождение фоновых заданий.Проанализируем дополнительные способы минимизации нагрузки на систему:
ОЗУ и производительностью CPU. Недостаток ресурсов увеличивает время выполнения транзакции записи в файл обмена, тем самым расширяя «окно уязвимости» для возникновения ошибки.РИБ, старайтесь придерживаться следующей тактики: сначала удалите патчи (расширения) в главном узле, выполните обмен, обновите конфигурацию, и только после успешного обновления и синхронизации всех узлов устанавливайте новые патчи.Мы рассмотрели основные причины и методы борьбы с блокировками расширений. Главная рекомендация — это переход на исправленные версии платформы, так как это устраняет корневую причину на архитектурном уровне. В дополнение к этому, грамотное планирование очереди обменов и слежение за состоянием серверных сеансов обеспечат стабильную работу вашей распределенной сети магазинов.