Firebird: как бороть зависшие транзакции?
От: Alexio  
Дата: 11.02.15 06:43
Оценка:
Есть служба, которая постоянно обновляет несколько записей в базе (firebird Superserver 2.5.3), на другом сервере. Транзакции, в которых идет обновление, имеют параметры read_committed rec_version nowait. Иногда бывает, что служба отваливается (либо комп вырубился, либо еще как-то), оставляя (видимо) незавершенные транзакции. После перезапуска получаю в логе такое:

lock conflict on no wait transaction
deadlock
update conflicts with concurrent update
concurrent transaction number is 41571292 [UPDATE  ...]


и в больших количествах — служба обновляет довольно часто.

В логе firebird много записей типа:

SRV (Client)    Tue Feb 10 20:47:19 2015
    INET/inet_error: read errno = 10038

SRV (Server)    Tue Feb 10 21:05:45 2015
    INET/inet_error: read errno = 10054


Я правильно понимаю, что это и есть зависшие транзакции, которые блокируют запись и не разблокируют ее, пока винда по keepalive таймауту не почистит дохлый коннект с клиентом и ФБ не откатит? По умолчанию keepalive timeout в винде — 2 часа. Неужели нужно везде, где стоит сервер ФБ, править его в реестре? Dummy в ФБ не использую.

А может я вообще что-то не так делаю?
Блог о путешествиях в фотографиях
http://alexio-marziano.livejournal.com
Re: Firebird: как бороть зависшие транзакции?
От: DarkMaster Украина http://www.bdslib.at.ua
Дата: 13.02.15 08:55
Оценка:
Здравствуйте, Alexio, Вы писали:

A>Есть служба, которая постоянно обновляет несколько записей в базе (firebird Superserver 2.5.3), на другом сервере. Транзакции, в которых идет обновление, имеют параметры read_committed rec_version nowait. Иногда бывает, что служба отваливается (либо комп вырубился, либо еще как-то), оставляя (видимо) незавершенные транзакции.



http://ibase.ru/devinfo/keepalive.htm
WBR, Dmitry Beloshistov AKA [-=BDS=-]
Re[2]: Firebird: как бороть зависшие транзакции?
От: Alexio  
Дата: 13.02.15 11:02
Оценка:
Здравствуйте, DarkMaster, Вы писали:

DM>http://ibase.ru/devinfo/keepalive.htm


Я читал эту статью поэтому и спросил, единственный ли это способ. Как-то не айс у всех юзеров править реестр в этой части.
Блог о путешествиях в фотографиях
http://alexio-marziano.livejournal.com
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.