Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Firebird, InterBase Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3] 4 5   вперед  Ctrl      все
 Re: Зависание базы - новые коннекты не реагируют, старые работают  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 27844
db20mln,

казалось бы, посмотрел примеры, и сделал по образцу
http://www.ibase.ru/files/download/safeudf.zip
18 июл 16, 19:20    [19424597]     Ответить | Цитировать Сообщить модератору
 Re: Зависание базы - новые коннекты не реагируют, старые работают  [new]
db20mln
Member

Откуда:
Сообщений: 32
Большое спасибо за указанные ошибки, UDF переделаю.
Но база с UDR, последний билд, SS - падения никуда не делись.

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

По итогу:
Ошибка не отлавливается, причина неизвестна, решения нет - вернулся на 2.5.
19 июл 16, 13:49    [19427123]     Ответить | Цитировать Сообщить модератору
 Re: Зависание базы - новые коннекты не реагируют, старые работают  [new]
YuRock
Member

Откуда: Донецк
Сообщений: 3825
db20mln,

В UDR не разбираюсь. Но, я думаю, как минимум - не хватает в Udr.dpr
begin
  IsMultiThread := True;
end.

вместо
end.
19 июл 16, 14:07    [19427241]     Ответить | Цитировать Сообщить модератору
 Re: Зависание базы - новые коннекты не реагируют, старые работают  [new]
YuRock
Member

Откуда: Донецк
Сообщений: 3825
db20mln
Ошибка не отлавливается

Ну так логируй каждую строчку udr (после того, как IsMultiThread включишь). Найдешь, где валится.
19 июл 16, 14:08    [19427247]     Ответить | Цитировать Сообщить модератору
 Re: Зависание базы - новые коннекты не реагируют, старые работают  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 9246
YuRock,

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

Автор даже не потрудился помониторить память на предмет утечки. Запустить на тестовом Firebird свою функцию 10 миллионов раз.
19 июл 16, 14:20    [19427315]     Ответить | Цитировать Сообщить модератору
 Re: Зависание базы - новые коннекты не реагируют, старые работают  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 47080

Симонов Денис
Автор даже не потрудился

Он даже проблему локализовать не потрудился. Зависания у него "внезапно" обернулись крашами.

Posted via ActualForum NNTP Server 1.5

19 июл 16, 14:27    [19427350]     Ответить | Цитировать Сообщить модератору
 Re: Зависание базы - новые коннекты не реагируют, старые работают  [new]
YuRock
Member

Откуда: Донецк
Сообщений: 3825
Симонов Денис
В UDR с первого взгляда всё нормально

Вроде да, но в текущем состоянии при вызове функций из неё из разных потоков она обязательно должна иногда валиться, т.к. выделение памяти есть, автоматические типы есть, а IsMultiThread=False.
19 июл 16, 14:28    [19427360]     Ответить | Цитировать Сообщить модератору
 Re: Зависание базы - новые коннекты не реагируют, старые работают  [new]
hvlad
Member

Откуда:
Сообщений: 10195
db20mln
Дамп памяти не сохраняется, винда не видит что приложение крашится (в журналах винды нет сообщений о сбоях) - т.е. дамп во время сбоя снять не могу.
Гвардейца убери
19 июл 16, 14:39    [19427403]     Ответить | Цитировать Сообщить модератору
 Re: Зависание базы - новые коннекты не реагируют, старые работают  [new]
db20mln
Member

Откуда:
Сообщений: 32
Dimitry Sibiryakov
Симонов Денис
Автор даже не потрудился

Он даже проблему локализовать не потрудился. Зависания у него "внезапно" обернулись крашами.

Я 2 недели искал причины. Делал наугад, т.к. ошибки в логах не сильно помогли.

Комбинации факторов из-за которых может происходить - код клиента, база, udf/udr, настройки fb, настройки сервака, железо. Каждый фактор пришлось исключать тестами.

Это на фоне ежедневных падений рабочей базы со всеми их последствиями.

Так что обратился за помощью когда собрал исходные данные и не смог сам локализовать проблему.
Поэтому эти групповые "даже не потрудился ..." - мне кажутся не в тему.

По существу:

Валится даже когда udf/udr не задействованы, поэтому я исключил их из причин.

Ошибка по udf промелькнула единственный раз в логе и больше ни разу не повторялась.
Тем более эта udf проработала 4 года на 2.5 без падений.

Я запускал udf 30 млн раз, расход памяти у firebird.exe не менялся (на классике).
Вообще сколько указываю DefaultDbCachePages - столько памяти отъедает и не меняется.
19 июл 16, 17:27    [19428281]     Ответить | Цитировать Сообщить модератору
 Re: Зависание базы - новые коннекты не реагируют, старые работают  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 47080

db20mln
Так что обратился за помощью когда собрал исходные данные и не смог сам локализовать проблему.

А теперь ещё раз: у тебя проблема с падением сервера или его зависанием? Это как бэ две
разные вещи...

Posted via ActualForum NNTP Server 1.5

19 июл 16, 17:35    [19428308]     Ответить | Цитировать Сообщить модератору
 Re: Зависание базы - новые коннекты не реагируют, старые работают  [new]
db20mln
Member

Откуда:
Сообщений: 32
С зависанием.
Я в начале описал что в какой последовательности происходит.
19 июл 16, 17:41    [19428333]     Ответить | Цитировать Сообщить модератору
 Re: Зависание базы - новые коннекты не реагируют, старые работают  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 47080

db20mln
С зависанием.

fb_lock_print -c -a -w

при этом тоже зависает или выдаёт результат?

Posted via ActualForum NNTP Server 1.5

19 июл 16, 17:44    [19428341]     Ответить | Цитировать Сообщить модератору
 Re: Зависание базы - новые коннекты не реагируют, старые работают  [new]
db20mln
Member

Откуда:
Сообщений: 32
Dimitry Sibiryakov
fb_lock_print -c -a -w

при этом тоже зависает или выдаёт результат?

С такими ключами не пробовал, а с "-d -L" и "-d -n" выдавал результат.
19 июл 16, 17:47    [19428354]     Ответить | Цитировать Сообщить модератору
 Re: Зависание базы - новые коннекты не реагируют, старые работают  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 47080

db20mln
С такими ключами не пробовал

Тогда покамест далее говорить не о чем.

Posted via ActualForum NNTP Server 1.5

19 июл 16, 17:51    [19428368]     Ответить | Цитировать Сообщить модератору
 Re: Зависание базы - новые коннекты не реагируют, старые работают  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 9246
db20mln,

запуск кривой udf на классике и на супере дают совершенно разные результаты. В классике в случае чего отвалится только один коннект, в супере отвалятся все коннекты. Опять же поскольку коннекты у тебя в воркерах короткие, то и процессы классика долго жить не будут и могут не успеть загадить память, система всё равно вычистит не освободившуюся память при смерти процесса. С супером же у тебя проблемы будут накапливаться как снежный ком.

Да и вообще мы ещё не видели что там в воркерах такого страшного делается. Я вон запускал тесты Таблоида на 500 коннектах, что-то особо никто не отваливался.

То что пока возвращаешься на 2.5 это хорошо, хоть работать будешь, но вот причину искать не прекращай. Может действительно в FB какой-то баг затесался. Всем будет лучше если его исправят.
19 июл 16, 17:57    [19428393]     Ответить | Цитировать Сообщить модератору
 Re: Зависание базы - новые коннекты не реагируют, старые работают  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 47080

Симонов Денис
То что пока возвращаешься на 2.5 это хорошо

Не возвращается он. Процедуру обратной миграции не осилил.

Posted via ActualForum NNTP Server 1.5

19 июл 16, 18:08    [19428433]     Ответить | Цитировать Сообщить модератору
 Re: Зависание базы - новые коннекты не реагируют, старые работают  [new]
db20mln
Member

Откуда:
Сообщений: 32
Симонов Денис
запуск кривой udf на классике и на супере дают совершенно разные результаты. В классике в случае чего отвалится только один коннект, в супере отвалятся все коннекты. Опять же поскольку коннекты у тебя в воркерах короткие, то и процессы классика долго жить не будут и могут не успеть загадить память, система всё равно вычистит не освободившуюся память при смерти процесса. С супером же у тебя проблемы будут накапливаться как снежный ком.

У меня на классике один коннект выдает ошибку, после этого новые коннекты не делаются - они молча висят (и не коннектятся, и не выдают ошибку), пока не закрываю все старые (работающие) коннекты и не перезагружаю главный.

Попробую добиться воспроизведения ошибки на синтетическом тесте в спокойной обстановке.
19 июл 16, 18:12    [19428442]     Ответить | Цитировать Сообщить модератору
 Re: Зависание базы - новые коннекты не реагируют, старые работают  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 47080

db20mln
У меня на классике один коннект выдает ошибку

Какую ошибку? Точный и полный текст - В СТУДИЮ!!!

Posted via ActualForum NNTP Server 1.5

19 июл 16, 18:16    [19428452]     Ответить | Цитировать Сообщить модератору
 Re: Зависание базы - новые коннекты не реагируют, старые работают  [new]
db20mln
Member

Откуда:
Сообщений: 32
Dimitry Sibiryakov
Не возвращается он. Процедуру обратной миграции не осилил.

Он осилил.
Правда это заняло пол ночи, т.к. и база большая, и получилось с третьего раза.
19 июл 16, 18:17    [19428454]     Ответить | Цитировать Сообщить модератору
 Re: Зависание базы - новые коннекты не реагируют, старые работают  [new]
db20mln
Member

Откуда:
Сообщений: 32
Dimitry Sibiryakov
db20mln
У меня на классике один коннект выдает ошибку

Какую ошибку? Точный и полный текст - В СТУДИЮ!!!

Вроде бы все описал в начале:
У одного из воркеров (только у одного) при этом выскакивает ошибка:
firebird Attachment::start Transaction failed when loading mapping cache

Иногда ошибка:
Your user name and password are not defined. Ask your database administrator to set up a Firebird login.

В логах при этом возникают ошибки - обычно 2 подряд:
Database: C:\PROGRAM FILES\FIREBIRD\FIREBIRD_3_0\SECURITY3.FDB
page 0, page type 1 lock denied (216)

Database:
page 0, page type 1 lock denied (216)
19 июл 16, 18:20    [19428471]     Ответить | Цитировать Сообщить модератору
 Re: Зависание базы - новые коннекты не реагируют, старые работают  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 47080

db20mln
это заняло пол ночи, т.к. и база большая, и получилось с третьего раза.

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

Posted via ActualForum NNTP Server 1.5

19 июл 16, 18:22    [19428482]     Ответить | Цитировать Сообщить модератору
 Re: Зависание базы - новые коннекты не реагируют, старые работают  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 47080

db20mln
при этом выскакивает ошибка

При чём "при этом"? Какой именно вызов приводит к ошибке? У тебя что, каждый этап
производится в новом коннекте?..

Posted via ActualForum NNTP Server 1.5

19 июл 16, 18:33    [19428536]     Ответить | Цитировать Сообщить модератору
 Re: Зависание базы - новые коннекты не реагируют, старые работают  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 47080

db20mln
firebird Attachment::start Transaction failed when loading mapping cache

И, кстати, этот текст несколько отличается от того, что я вижу в исходниках:
1) Нет "firebird" в начале;
2) Сервер говорит "IAttachment::startTransaction".

Ты уверен, что это сообщение - точное?..

Posted via ActualForum NNTP Server 1.5

19 июл 16, 18:47    [19428611]     Ответить | Цитировать Сообщить модератору
 Re: Зависание базы - новые коннекты не реагируют, старые работают  [new]
db20mln
Member

Откуда:
Сообщений: 32
Dimitry Sibiryakov
При чём "при этом"? Какой именно вызов приводит к ошибке? У тебя что, каждый этап
производится в новом коннекте?..

Да, этапы идут последовательно. Сперва воркеры делают первый этап, затем пауза, потом второй, потом третий.

Dimitry Sibiryakov
db20mln
firebird Attachment::start Transaction failed when loading mapping cache

И, кстати, этот текст несколько отличается от того, что я вижу в исходниках:
1) Нет "firebird" в начале;
2) Сервер говорит "IAttachment::startTransaction".

Ты уверен, что это сообщение - точное?..

Я по началу сохранял сообщения в текстовый файл, возможно слово firebird приписал сам а букву I удалил в спешке.

Но на последней сборке было вот такое сообщение (проверил по скриншоту):
page 0, page type 1 lock denied
IAttachment::startTransaction failed when loading mapping cache.
19 июл 16, 19:04    [19428711]     Ответить | Цитировать Сообщить модератору
 Re: Зависание базы - новые коннекты не реагируют, старые работают  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 47080

db20mln
IAttachment::startTransaction failed when loading mapping cache.

Вот это уже гораздо лучше: первая строчка таки выплыла.

И не забудь, что "fb_lock_print -s -a -w" при зависании надо снимать именно с
security3.fdb. Но лучше сними с обоих баз. Чтобы наверняка.

Posted via ActualForum NNTP Server 1.5

19 июл 16, 19:09    [19428738]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3] 4 5   вперед  Ctrl      все
Все форумы / Firebird, InterBase Ответить