Перейти к содержимому
Участник сообщества #69
Участник сообщества #69
13 февр. 2025 г., 08:09(изменён)
Решено
0
0

Тестирование агента Docker+Postgres 1050

Из чата сообщества

Всем привет. Кто-нибудь может на 1050 версии, желательно Docker + Postgres, выполнить агент с таким кодом? Каталог можно любой, главное чтобы 400 записей реально вернул. Заранее предупреждаю - сервер приклада может упасть по переполнению памяти

var sql = "sql: select * from dbo.collaborators limit 400"

var resData = ArraySelectAll(XQuery(sql))

alert(ArrayCount(resData))
Участник сообщества
Участник сообщества13 февр. 2025 г., 09:02(изменён)
Решение

Есть ответ от поддержки

400 - это стандартный размер страницы для юнибриджа.
Когда вы в кастомном SQL-запросе ставите такой же лимит - то возникает коллизия - XQuery получает 400 строк, но считает, что запрос не завершен - на сервере еще есть данные.
И при проходе циклом (или ArraySelectAll) - просит с сервера следующую порцию данных. В итоге - получается бесконечный запрос, поскольку вы выдаете ему ту же страницу.
Варианты:
1. Поменять ограничение на 400 строк в запросе,
2. Установить (spxml_unibridge_config.xml) в параметре ConnectionString - PageSize=500, например
3. В циклах, где обрабатывается результат вашего запроса, делать не бесконечный цикл до конца данных, а индексный, ровно на 400 шагов

У нас 868 вот хотел узнать как на версиях повыше

Участник сообщества
Участник сообщества13 февр. 2025 г., 08:16(изменён)

Это что может быть причиной падения?

Участник сообщества
Участник сообщества13 февр. 2025 г., 09:00(изменён)

На 916 только есть возможность проверить - на ней нагрузки нет, возвращает 400 записей.

Может быть тут нужно поймать какое-то соотношение? Или при любом каталоге и лимите в 400 падает?

Участник сообщества
Участник сообщества13 февр. 2025 г., 09:08(изменён)

Так ну 1050 пошла родная , astra без докера, пошла память утекать .

Участник сообщества
Участник сообщества13 февр. 2025 г., 09:09(изменён)

Вот похоже на наш кейс

Участник сообщества
Участник сообщества13 февр. 2025 г., 09:12(изменён)

@rainur_khamidullin У вас какая версия?

Участник сообщества
Участник сообщества13 февр. 2025 г., 09:13(изменён)

Мне интересно теперь почему у нас не падает на 916, при этом, переполнение памяти похожее случается иногда. 🤔

Участник сообщества
Участник сообщества13 февр. 2025 г., 09:14(изменён)

У нас на 916 еще оно происходит при пересохранении группы на 1000, если используется matchsome который в xmd прописан. Если переписать на sql то ок.

Участник сообщества
Участник сообщества13 февр. 2025 г., 09:15(изменён)
photo_2052@13-02-2025_12-15-19.jpg
Участник сообщества
Участник сообщества13 февр. 2025 г., 13:46(изменён)

Здесь интересно - это только на постгресовой БД проявляется или для любой БД?

Участник сообщества
Участник сообщества13 февр. 2025 г., 14:06(изменён)

Скорее всего тип БД не влияет

Чтобы ответить, необходимо войти в систему