powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
25 сообщений из 270, страница 2 из 11
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
    #38426314
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad,

Если это можно будет конфигурировать на уровне БД (database.conf) или даже на уровне подключения, то почему бы и нет. Насчёт автоматического подтверждения транзакции вопрос спорный. Про откат согласен.
...
Рейтинг: 0 / 0
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
    #38426322
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисНасчёт автоматического подтверждения транзакции вопрос спорный
транзакция изначально задумана как атомарный набор изменений. В том, что админ сможет коммитить лишь ее часть, есть что-то глубоко неправильное, хотя возможно и в каких-либо случаях допустимое. Пока что я против автоматического подтверждения. А в целом Влад все правильно описал, примерно так оно и предполагалось.
...
Рейтинг: 0 / 0
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
    #38426347
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как по мне, так примерно так было бы хорошо:hvladНапример ввести такие таймауты и действия по их истечению:
- таймаут для выполняющегося запроса
по его истечению запрос останавливается, его изменения откатываются+1
Еще бы до пары к этому таймауту в конфиге возможность передать таймаут прямо в параметрах транзакции, например я зажимаю параметр в конфиге в несколько секунд, а для особых случаев указываю явно, скажем пару минут.
hvlad- таймаут для неактивной тр-ции (т.е. такой тр-ции, в которой нет выполняющихся запросов)
по его истечению тр-ция откатывается (или подтверждается ?)выполняется дефолт экшн из конфига, который по-умолчанию роллбек. Опять таки возможность указать в параметрах транзакции, что "меня отстреливать не надо" была бы не лишней.
С коннектами аналогично.
...
Рейтинг: 0 / 0
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
    #38426383
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevsky,

Кстати, да - хороший вопрос - как эти таймауты должны задаваться, и чья установка главнее - админа (в конфиге) или прикладного разработчика (в dpb\tpb\etc)
...
Рейтинг: 0 / 0
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
    #38426391
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_PisarevskyКак по мне, так примерно так было бы хорошо:hvladНапример ввести такие таймауты и действия по их истечению:
- таймаут для выполняющегося запроса
по его истечению запрос останавливается, его изменения откатываются+1
Еще бы до пары к этому таймауту в конфиге возможность передать таймаут прямо в параметрах транзакции, например я зажимаю параметр в конфиге в несколько секунд, а для особых случаев указываю явно, скажем пару минут.


А мы не напоремся на труднопонимаемые ситуации несвоевременным отстрелом? Ну когда долгий отчет формируется за 10 минут. Потом мы вливаем туда порцию данных, ломаем индекс или еще чего и отчет начинает формироваться 15 минут. При вводе ограничения например на 12 минут мы утром обнаруживаем, что отчет не сфомировался, т.к. нас "отстрелили". Причем это сервером считается как штатная ситуация и в логах мы по идее фиг что увидим.
...
Рейтинг: 0 / 0
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
    #38426396
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMaster,

а кто запрещает это логировать. Я имею ввиду что сервер должен логировать такие вещи. Тогда можно будет узнать кто виноват и что делать
...
Рейтинг: 0 / 0
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
    #38426403
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMasterА мы не напоремся на труднопонимаемые ситуации несвоевременным отстрелом? Ну когда долгий отчет формируется за 10 минут. Потом мы вливаем туда порцию данных, ломаем индекс или еще чего и отчет начинает формироваться 15 минут. При вводе ограничения например на 12 минут мы утром обнаруживаем, что отчет не сфомировался, т.к. нас "отстрелили". А что не понятного в этой ситуации ?
Тут даже есть плюс - ты своевременно узнаешь о том, что отчёт стал формироваться слишком долго.

DarkMasterПричем это сервером считается как штатная ситуация и в логах мы по идее фиг что увидим.А почему тот, кто формировал отчёт, не сохранил сообщение об ошибке ? Это ведь может быть не только таймаут, а что угодно. Причём же тут серверные логи ?
...
Рейтинг: 0 / 0
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
    #38426404
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисDarkMaster,

а кто запрещает это логировать. Я имею ввиду что сервер должен логировать такие вещи. Тогда можно будет узнать кто виноват и что делать

Ну серверу явно сказали - отстрели нас через 5 минут. Что он и сделал - т.е. все штатно, без ошибок - зачем логировать?
...
Рейтинг: 0 / 0
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
    #38426410
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMaster,

он ведь логирует начало и завершение свипа. Почему бы и не логировать эти вещи. К тому же ситуация не совсем штатная. Это своего рода предупреждение о проблемах.
...
Рейтинг: 0 / 0
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
    #38426412
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я конечно имею ввиду логировать только то, что отвалилось по таймауту
...
Рейтинг: 0 / 0
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
    #38426424
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladDarkMasterПричем это сервером считается как штатная ситуация и в логах мы по идее фиг что увидим.А почему тот, кто формировал отчёт, не сохранил сообщение об ошибке ? Это ведь может быть не только таймаут, а что угодно. Причём же тут серверные логи ?

1) Отчет может формироваться роботом. У которого одна задача - на приход часа Х запустить процедуру У.
2) Отстрел по таймауту - это ошибка? Ну я же вроде задаю интервал, значит закладываюсь на какие-то временные рамки.

P.S. Кстати, а в серверном коде такие ситуации можно будет обработать? Ну типа блоков WHEN...
...
Рейтинг: 0 / 0
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
    #38426438
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMaster,

кто тебе мешает для твоего робота убрать таймаут. Это же вроде необязательный параметр. Моё мнение параметры заданные приложение при подключении должны иметь более высокий приоритет над теми что заданы в databases.conf
...
Рейтинг: 0 / 0
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
    #38426442
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денися конечно имею ввиду логировать только то, что отвалилось по таймаутуДавайте не будем впадать в маразм. Ибо так легко получить логгирование вообще всех запросов.
Кому надо логгировать таймауты - трейс в зубы.
...
Рейтинг: 0 / 0
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
    #38426447
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMaster1) Отчет может формироваться роботом. У которого одна задача - на приход часа Х запустить процедуру У.
2) Отстрел по таймауту - это ошибка? Ну я же вроде задаю интервал, значит закладываюсь на какие-то временные рамки.1. Если он не ведёт лог своей работы с протоколом полученных ошибок - это плохой робот, бесполезный.
2. Для клиента - конечно ошибка, так же как и отмена запроса\аттача.
...
Рейтинг: 0 / 0
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
    #38426451
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad,

в принципе нормально если это можно будет отследить в аудите. Но только мне кажется нужен отдельный переключатель или фильтр чтобы отследить только то, что отвалилось по таймауту, а не все откаченные транзакции.
...
Рейтинг: 0 / 0
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
    #38426454
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

ну так это уже другой вопрос :)
...
Рейтинг: 0 / 0
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
    #38426461
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, еще транзакции бывают разные, например, для "read read_commited nowait" можно воткнуть часок-другой, для ридонли снапшота десяток минут, для райт снапшота вообще десяток секунд.
...
Рейтинг: 0 / 0
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
    #38426464
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad2. Для клиента - конечно ошибка, так же как и отмена запроса\аттача.

Неоднозначно. Т.е. я как разработчик должен закладываться на какие-то среднепотолочные значения таймаутов "чтобы наверняка успеть", отдавать заказчику и молится, чтобы через Н-е время меня не начали задалбывать вопросами "а почему это наш супер пупер важный отчет не ушел на мыло директору?". Соответственно такую ситуацию даже воспроизвести толком нельзя будет без доступа к тому набору данных, который у заказчика. Доступ к которым могут и не дать. Да и для админом начнется тихий ужас с захардкоженными в коде таймаутами (по закону подлости его начнуть пихать куда можно и куда нельзя)...
...
Рейтинг: 0 / 0
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
    #38426465
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще с таймаутами не всё так просто, как кажется на первый взгляд.

Один из приципиальных вопросов : кто должен отсчитывать время - клиент или сервер ?
Ответ в лоб - конечно сервер, т.к. клиент может отвалиться или зависнуть, а сервер об этом не узнает.
Однако может быть и обратная ситуация, когда клиент не обнаруживает потерю соединения или же сервер висит\слишком загружен чтобы вовремя информировать клиента о таймауте.
Таким образом мы приходим к необходимости отслеживать таймауты с обеих сторон.
И тут же возникает новый вопрос - нужно ли делать отдельные опции для клиента и сервера, или же ограничиться одним и тем же значением. Если идти по второму пути, то клиент должен как-то узнавать значение таймаута, заданное на сервере по-умолчанию.

Далее. Как считать таймаут для запроса ? Нужно ли начинать отсчёт времени заново после каждого фетча или выключать таймер сразу же после первого фетча ?
...
Рейтинг: 0 / 0
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
    #38426469
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMasterНеоднозначно. Т.е. я как разработчик должен закладываться на какие-то среднепотолочные значения таймаутов "чтобы наверняка успеть", отдавать заказчику и молится, чтобы через Н-е время меня не начали задалбывать вопросами "а почему это наш супер пупер важный отчет не ушел на мыло директору?".Всё однозначно, ты просто не даёшь себе подумать.
1. Отключай таймаут для своего проложения\БД, если ты не умеешь его готовить.
2. Для конкретного запроса выставляй заведомо большое значение таймаута.
3. Всегда все роботы обязаны реагировать на любые ошибки (кроме внезапного саморазрушения :) )
...
Рейтинг: 0 / 0
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
    #38426473
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladввести такие таймауты
IMHO - нах-нах. Геморроя много, пользы мало.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
    #38426477
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMasterДа и для админом начнется тихий ужас с захардкоженными в коде таймаутами (по закону подлости его начнуть пихать куда можно и куда нельзя)...А вот тут см. 14966027

PS И не надо бояться, в других серверах давно есть таймауты и никто о них не плачет :)
...
Рейтинг: 0 / 0
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
    #38426479
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladДалее. Как считать таймаут для запроса ? Нужно ли начинать отсчёт времени заново после каждого фетча или выключать таймер сразу же после первого фетча ?

Зовем какие-то хитросделанные УДФ`ы, которые могут бог знает что делать - получаем непонятное поведение. Никаких фетчей, а время тю-тю...
...
Рейтинг: 0 / 0
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
    #38426483
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovhvladввести такие таймауты
IMHO - нах-нах. Геморроя много, пользы мало.А ты с кем разговариваешь ?
Т.е. на что ты вообще отвечаешь ? Ты против любых таймаутов ? Аргументация, как обычно, блестяща и полна
...
Рейтинг: 0 / 0
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
    #38426489
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMasterЗовем какие-то хитросделанные УДФ`ы, которые могут бог знает что делать - получаем непонятное поведение. Никаких фетчей, а время тю-тю...Есс-но, самый первый раз таймер взводится в момент начала выполения запроса.
Ты может таки начнёшь хоть чуть-чуть думать, перед тем как писать ?
...
Рейтинг: 0 / 0
25 сообщений из 270, страница 2 из 11
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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