powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как ведёт себя транзакция FB при неконтролируемом разрыве соединения и как этим управлять?
25 сообщений из 28, страница 1 из 2
Как ведёт себя транзакция FB при неконтролируемом разрыве соединения и как этим управлять?
    #40062326
hlopotun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго утра,

FB 2.5, 3 и 4

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

в firebird.conf есть параметр:
firebird.conf# ----------------------------
# Client Connection Settings (Basic)
#
# Seconds to wait before concluding an attempt to connect has failed.
#
# Type: integer
#
#ConnectionTimeout = 180

Значит ли этот параметр что через 180 секунд после потери соединения произойдёт Rollback и все 180 секунд транзакция продолжает обновлять или выбирать данные, или она ставит на паузу все процессы в рамках транзакции до восстановления соединения и по восстановлении соединения продолжает работу снимая с паузы?
Гдето можно этим управлять (ставить на паузу или продолжать выполнение в случае потери соединения)?
Можно ли асинхронно запустить транзакцию так что бы она закончила своё выполнение до конца и если внутри транзакции не произошло ошибки, выполнила commit даже если соединение было разорвано?

Спасибо
...
Рейтинг: 0 / 0
Как ведёт себя транзакция FB при неконтролируемом разрыве соединения и как этим управлять?
    #40062329
pastor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hlopotun,

это таймаут попытки подключения.

при диагностике обрыва подключения со стороны сервера, транзакция будет отменена.

при настроках win по умолчанию - через 2 часа.
...
Рейтинг: 0 / 0
Как ведёт себя транзакция FB при неконтролируемом разрыве соединения и как этим управлять?
    #40062332
hlopotun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pastor
hlopotun,

это таймаут попытки подключения.

при диагностике обрыва подключения со стороны сервера, транзакция будет отменена.

при настроках win по умолчанию - через 2 часа.


В каком смысле win? У виндовс есть настройки задающие параметры транзакций для SQL серверов? И как насчёт того стоит транзакция на паузе или продолжает выполнение (выборку, обновление итп). Где эти 2 часа прописаны конкретно?

Спасибо
...
Рейтинг: 0 / 0
Как ведёт себя транзакция FB при неконтролируемом разрыве соединения и как этим управлять?
    #40062335
pastor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hlopotun


В каком смысле win? У виндовс есть настройки задающие параметры транзакций для SQL серверов? И как насчёт того стоит транзакция на паузе или продолжает выполнение (выборку, обновление итп). Где эти 2 часа прописаны конкретно?

Спасибо


настроки IP. через 2 часа сервер узнает от win, что сокет все

мы делаем вот так на серверах


Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"DisableDHCPMediaSense"=dword:00000001
"KeepAliveTime"=dword:0003a980
"KeepAliveInterval"=dword:000003e8
"TcpMaxDataRetransmissions"=dword:00000002


[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6]
"DisabledComponents"=dword:00000010


есть еще параметр DummyPacketInterval
...
Рейтинг: 0 / 0
Как ведёт себя транзакция FB при неконтролируемом разрыве соединения и как этим управлять?
    #40062336
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
14.04.2021 11:00, hlopotun пишет:
> В каком смысле win?

http://www.ibase.ru/keepalive/
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как ведёт себя транзакция FB при неконтролируемом разрыве соединения и как этим управлять?
    #40062349
hlopotun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо за ссылки.

Кстати у FB2.5.9 в firebird.conf ссылки на сайты Microsoft походу устарели:
firebird.conf#
# Seconds to wait on a silent client connection before the server sends
# dummy packets to request acknowledgment.
#
# NOTE. This option may hang or crash Windows NT4 or Windows 2000 pre SP3
# on the client side as explained here:
# http://support.microsoft.com/default.aspx?kbid=296265.
# or may not prevent eventual inactive client disconnection for other OS.
#
# Normally, Firebird uses SO_KEEPALIVE socket option to keep track of
# active connections. If you do not like default 2-hour keepalive timeout
# then adjust your server OS settings appropriately. On UNIX-like OS's,
# modify contents of /proc/sys/net/ipv4/tcp_keepalive_*. On Windows,
# follow instrutions of this article:
# http://support.microsoft.com/default.aspx?kbid=140325
#
# Type: integer
#
#DummyPacketInterval = 0



А как с ответами на остальные вопросы?
авторМожно ли асинхронно запустить транзакцию так что бы она закончила своё выполнение до конца и если внутри транзакции не произошло ошибки, выполнила commit даже если соединение было разорвано?
...
Рейтинг: 0 / 0
Как ведёт себя транзакция FB при неконтролируемом разрыве соединения и как этим управлять?
    #40062351
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hlopotun
Можно ли асинхронно запустить транзакцию так что бы она закончила своё выполнение до конца и если внутри транзакции не произошло ошибки, выполнила commit даже если соединение было разорвано?
Нет
...
Рейтинг: 0 / 0
Как ведёт себя транзакция FB при неконтролируемом разрыве соединения и как этим управлять?
    #40062352
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
14.04.2021 11:41, hlopotun пишет:
>
> А как с ответами на остальные вопросы?

какие?
транзакции в IB/FB коммитятся только по команде извне.
сама она "из-под себя" не закоммитится.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как ведёт себя транзакция FB при неконтролируемом разрыве соединения и как этим управлять?
    #40062355
hlopotun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мимопроходящий,

Спасибо за ответы!
...
Рейтинг: 0 / 0
Как ведёт себя транзакция FB при неконтролируемом разрыве соединения и как этим управлять?
    #40062366
hlopotun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pastor
hlopotun,

это таймаут попытки подключения.
.................


Тут пишут что не только.
...
Рейтинг: 0 / 0
Как ведёт себя транзакция FB при неконтролируемом разрыве соединения и как этим управлять?
    #40062433
hlopotun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad,

один вопрос только остался не до конца ясен.
Получается транзакция только через 2 часа поймёт что соединение отвалилось и сделает rollback. До этого момента все процессы запущенные в её рамках будут выполняться, хоть и завершатся в итоге по rollback?
Такую транзакцию можно принудительно завершить через commit или остановить с rollback через другое соединение от sysdba?

Спасибо
...
Рейтинг: 0 / 0
Как ведёт себя транзакция FB при неконтролируемом разрыве соединения и как этим управлять?
    #40062435
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hlopotun,

Транзакция сама по себе ничего не "понимает". "Понимает" сетевой сервер, и он не обязательно узнает об оборванном коннекте только через 2 часа, обычно это происходит раньше.

Принудительно завершить можно коннект или запрос, не тр-цию. И, конечно же, вся текущая работа будет отменена (rollback).
Как это делать - описано в разделе про таблицы мониторинга.
...
Рейтинг: 0 / 0
Как ведёт себя транзакция FB при неконтролируемом разрыве соединения и как этим управлять?
    #40063099
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А делать отдельный настраиваемый keep-alive на стороне сервера - это плохое решение?..
...
Рейтинг: 0 / 0
Как ведёт себя транзакция FB при неконтролируемом разрыве соединения и как этим управлять?
    #40063133
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvp,

как ты себе это представляешь, если этим рулит операционная система? И потом - зачем?
Тут же фишка в чем - сервер вполне себе понимает обрыв соединения, если он пришел от ОС. А если не пришло?
Кроме того, см. FB 4 release note про таймауты со страницы 18.
...
Рейтинг: 0 / 0
Как ведёт себя транзакция FB при неконтролируемом разрыве соединения и как этим управлять?
    #40063183
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv
как ты себе это представляешь, если этим рулит операционная система? И потом - зачем?

Ну как, клиентская библиотека периодически посылает на сервер пустой пакет чтобы сообщить что соединение ещё активно.
Если сервер в течении определённого времени его не получает - считает соединение разорванным.

Зачем - чтобы не ждать два часа если клиент отвалился и чтобы не лазить в настройки ОС, если именно для БД тебя этот период не устраивает.
kdv

Тут же фишка в чем - сервер вполне себе понимает обрыв соединения, если он пришел от ОС. А если не пришло?

Вот на случай "если не пришло" - это и нужно.
kdv

Кроме того, см. FB 4 release note про таймауты со страницы 18.
Увы, гугл не в курсе существования данного документа.

UPD: Нашёл. FB - это исключительно Facebook и ничего кроме 😃
...
Рейтинг: 0 / 0
Как ведёт себя транзакция FB при неконтролируемом разрыве соединения и как этим управлять?
    #40063185
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvpЕсли сервер в течении определённого времени его не получает - считает соединение разорванным.
Зачем - чтобы не ждать два часа если клиент отвалился и чтобы не лазить в настройки ОС, если именно для БД тебя этот период не устраивает.
ну допустим клиент посылает (он и так может запрашивать что-то вроде select * from rdb$database каждые 2-3 минуты), что-то, от сервера не получает, и ... считает соединение разорванным.
А сервер от клиента ничего не получает, аппаратно на той стороне соединение не разорвано, и сервер всё еще ждет клиента.

Кстати, в ОС есть еще такая хрень, как препятствие временным разрывам - DHCPMediaSence. А с ним что делать?
Короче - не надо перекладывать на сервер то, что и так делается в ОС. В ФБ 4 таймауты есть? Есть. Вот и хорошо.
alekcvpУвы, гугл не в курсе существования данного документа.
ну конечно, мы не можем руками на firebirdsql.org зайти, нам надо в гугле, и искать не firebird 4 release notes, а FB .... СтыдобА...
...
Рейтинг: 0 / 0
Как ведёт себя транзакция FB при неконтролируемом разрыве соединения и как этим управлять?
    #40063194
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не СтыдобА, а современная маладёшшшь,
гугл, фейсбук и твиттер - ихнее всё, увы.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как ведёт себя транзакция FB при неконтролируемом разрыве соединения и как этим управлять?
    #40063199
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам
гугл, фейсбук и твиттер - ихнее всё, увы.
А ролики на ютубе?

kdv
и так делается в ОС
Причем давно и механизм вполне себе кроссплатформенный.
...
Рейтинг: 0 / 0
Как ведёт себя транзакция FB при неконтролируемом разрыве соединения и как этим управлять?
    #40063200
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам
Не СтыдобА, а современная маладёшшшь,
гугл, фейсбук и твиттер - ихнее всё, увы.


Реп и экстази забыл
...
Рейтинг: 0 / 0
Как ведёт себя транзакция FB при неконтролируемом разрыве соединения и как этим управлять?
    #40063202
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Конечно, я не всё перечислил - и рэп, и экстази, и
ролики на ютубе, и инстаграммчик и ещё кучу всего.

P.S. Дед тоже эксперт, как я погляжу.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как ведёт себя транзакция FB при неконтролируемом разрыве соединения и как этим управлять?
    #40063217
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам

P.S. Дед тоже эксперт, как я погляжу.


Я просто наблюдательный. Насчёт репа - на Мальте вокруг самого тусовочного места Буджиббы, где и был мой отель, вечерами медленно дефилировал кабриолет с номером МУРКА (стоит это понт там недорого, 600 евро) с сопляком лет 16 за рулём, просвещавший аборигенов и турыстов в радиусе километра полноценным русским репом. Я сразу врубился что свою русскость лучше не афишировать. Насчёт веществ - занёс меня как-то лет 7 назад леший к вечеру на угол Лиговки и Обводного. Зачём занёс - убей не вспомню. Но приспичило посцать, а там Торгово-Развлекательный-Комплекс торчит. Почему с больших буков - у меня на номере нонче ТРК. На предыдущем было лучше - МАТ. Ну я и зашёл. А там ещё рядом был или есть черезвычайно популярный клуб. Спросил у охранника где туалет, он на меня посмотрел как-то странно и указал указал перстом. Когда открыл дверь, взгляд понял. До горшка, хрустя, шёл по ковру из шприцов.
...
Рейтинг: 0 / 0
Как ведёт себя транзакция FB при неконтролируемом разрыве соединения и как этим управлять?
    #40063275
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevsky
Гаджимурадов Рустам
гугл, фейсбук и твиттер - ихнее всё, увы.
А ролики на ютубе?

kdv
и так делается в ОС
Причем давно и механизм вполне себе кроссплатформенный.
Кстати, как показала практика, клиенты вполне ценят подобную "документацию".
...
Рейтинг: 0 / 0
Как ведёт себя транзакция FB при неконтролируемом разрыве соединения и как этим управлять?
    #40063746
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
16.04.2021 21:53, Ivan_Pisarevsky пишет:
> А ролики на ютубе?

ну какой нафиг ютуп?!
это для старпёров.
(для тех кому за 30)

молодь смотрит тик-ток !
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как ведёт себя транзакция FB при неконтролируемом разрыве соединения и как этим управлять?
    #40063754
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящиймолодь смотрит тик-ток!
"в тик-токе одни дебилы" (с) не помню чей, недавнее.
...
Рейтинг: 0 / 0
Как ведёт себя транзакция FB при неконтролируемом разрыве соединения и как этим управлять?
    #40063771
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
19.04.2021 11:28, kdv пишет:
> "в тик-токе одни дебилы" (с) не помню чей, недавнее.

хуже.
там уже ВСЕ.
(моложе 30)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25 сообщений из 28, страница 1 из 2
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как ведёт себя транзакция FB при неконтролируемом разрыве соединения и как этим управлять?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]