Начало » Использование СУБД » Firebird, HQbird, InterBase » Релиз Firebird 5.0
|
|
|
|
|
|
|
|
|
|
|
Re: Релиз Firebird 5.0 [сообщение #4101 является ответом на сообщение #4063] |
Fri, 19 January 2024 04:53 |
CyberMax
Сообщений: 8 Зарегистрирован: June 2023
|
Junior Member |
|
|
Перешли на днях на 5. Вроде полет нормальный. Но один сервис, написанный на Go, стал периодически сыпать ошибками вида:
2024/01/18 08:30:19 Too many concurrent executions of the same request
2024/01/19 08:30:19 sql: transaction has already been committed or rolled back
На 4.0.4 такого не было. Сначала грешили на многопоточность сервиса, но даже при одном потоке происходит "Too many concurrent executions of the same request". В чем может быть дело?
Upd. Починили путем однократной подготовки запроса и многократного выполнения подготовленного запроса.
[Обновления: Fri, 19 January 2024 07:15] Известить модератора
|
|
|
|
|
|
|
|
Re: Релиз Firebird 5.0 [сообщение #4121 является ответом на сообщение #4101] |
Fri, 19 January 2024 15:24 |
shalamyansky
Сообщений: 150 Зарегистрирован: August 2022
|
Senior Member |
|
|
CyberMax писал(а) Fri, 19 January 2024 04:53даже при одном потоке происходит "Too many concurrent executions of the same request". В чем может быть дело?
Upd. Починили путем однократной подготовки запроса и многократного выполнения подготовленного запроса.
В 5-ке ввели кеширование запросов. По сути кеша, встретив повторный запрос, уже находящийся в кеше, сервер должен, минуя подготовку, взять BLR из кеша и выполнить. Но что-то, видать, пошло не так, может, связано с незавершенной транзакцией или еще чем. Чисто диванное размышление.
P.S. "Too many", скорее всего, это просто "more than one".
P.P.S. Классическая коллизия при конкуренции за ресурс в многопоточности. В данном случае ресурс - гнездо в кеше запросов. Опять же, сугубое ИМХО.
[Обновления: Fri, 19 January 2024 15:42] Известить модератора
|
|
|
|
|
Re: Релиз Firebird 5.0 [сообщение #4133 является ответом на сообщение #4131] |
Sat, 20 January 2024 17:30 |
sim_84
Сообщений: 332 Зарегистрирован: June 2022
|
Senior Member |
|
|
Цитата:Добавлю, что gbak с -parallel 64 может сделать битый бэкап. Сегодня в качестве эксперимента попробовали - количество строк в одной таблице осталось прежним, но недосчитались около 2000 строк c ID, на которые ссылались другие таблицы по FK. Целесообразность практического применения такого количества потоков под сомнением, но тем не менее.
Так кто там лажает бекап или рестор? Просто если и правда есть такая ошибка, то она должна быть в трекере. Лично я пока косяков не видел
[Обновления: Sat, 20 January 2024 17:40] Известить модератора
|
|
|
|
|
|
|
|
|
Re: Релиз Firebird 5.0 [сообщение #4192 является ответом на сообщение #4191] |
Tue, 23 January 2024 17:46 |
MihaNikum
Сообщений: 5 Зарегистрирован: January 2024
|
Junior Member |
|
|
hvlad писал(а) Tue, 23 January 2024 17:40Ошибка в коде валидации, занесёшь в трекер ?
Можешь занести ? я не особо знаю как это делается. И где можно посмотреть занесённые и статус ,буду ждать исправления. Пока добавил 2-е поле в такие таблицы.
[Обновления: Tue, 23 January 2024 17:48] Известить модератора
|
|
|
|
|
|
Re: Релиз Firebird 5.0 [сообщение #4203 является ответом на сообщение #4201] |
Wed, 24 January 2024 13:48 |
ggreggory
Сообщений: 77 Зарегистрирован: July 2022
|
Member |
|
|
hvlad писал(а) Wed, 24 January 2024 11:51МорскойДесант писал(а) Wed, 24 January 2024 10:29В фибах можно (и, кажись, по умолчанию включено) кэшировать (в рамках коннекта) запросы с привлечением клиента: от текста вычисляется хэш, который хранился на клиенте в паре с дескриптором подготовленного запроса. При совпадени хэша, используется ранее подготовленный запрос.
...
А а FB5 как? Всё то же самое, но на сервере? Не совсем то же самое, но похоже. И - да - на сервере.
Если, предположим, 100 коннектов и с каждого выполняется один и тот же запрос, то в случае с кэшем фибов будет подготовлено 100 запросов, по одному с каждого коннекта. А в случае с кэшем FB5 будет 100 или один? И будет ли разница в зависимости от Super или Classic?
|
|
|
|
|
|
|
|
|
|
|
Переход к форуму:
Текущее время: Mon Dec 30 23:33:24 GMT+3 2024
Общее время, затраченное на создание страницы: 0.01498 секунд
|