Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.01.27;
Скачать: CL | DM;

Вниз

зависает firebird server   Найти похожие ветки 

 
LoDr   (2007-12-19 11:47) [0]

в IBExpert осуществляю простой запрос с использованием функции strreplace, при указании пустых значений подстрок(str,"","") IBExpert и Firebird Server(1.5.3) висят. причины зависания могут быть и другими(при осушествлении "тяжелых" запросов больших обьемов).
Восстановить работу сервера можно только путем перезапуска служб(сервера).
Подскажите плз можно ли как-нить устранить данную проблему(в чем могут быть причины зависания)?
Или как можно в таком случае осуществить автоматическую перезагрузку служб?


 
Desdechado ©   (2007-12-19 11:49) [1]

Если запрос большой, весьма вероятно срабатывание автоматической сборки мусора в процессе выполнения. Подробности на ibase.ru


 
Mystic ©   (2007-12-19 12:41) [2]

Скорее всего не оптимизирован strreplace. Находим в строку пустую подстроку. Меняем ее на пустую подстроку. Переходим на следующий символ. И т. д. В конце выполняем UPDATE. И так для каждой строки. Плюс еще всякие конкатенации (например создаем временную строку, копируем в нее содержимое до первого входжения (пустую строку) Добавляем туда то, на что надо поменять (пустую строку), перемещаем указатель на конец, и т. д. и т. п.


 
LoDr   (2007-12-19 12:49) [3]

это понятно, проблема не в функции strreplace, а в зависании! сервера, он не падает, а просто висит...


 
Desdechado ©   (2007-12-19 13:00) [4]

> он не падает, а просто висит...
Он может просто свопиться, если в твоей UDF память поедается.


 
Desdechado ©   (2007-12-19 13:01) [5]

А еще может просто антивирус дотошно проверять все, что пишется на диск и читается с него.


 
Mystic ©   (2007-12-19 13:10) [6]

Что значит висит? Опиши симптомы


 
LoDr   (2007-12-19 14:21) [7]

симптомы такие:
после зависания подлогониться или обратиться к базе не возможно,
проц и память резко нагружаются до определенного значения, но не превышают 50-60%, (остальные приложения на сервере работают нормально)
никаких ошибок в системных событиях не наблюдается, даже после перезапуска сервера.


 
PEAKTOP ©   (2007-12-19 14:43) [8]

бага скорее всего в самой UDF.
StrReplace, когда ей передают пустую строку поиска и пустую строку замены, может уходить в бесконечный цикл (в зависимости от того, как автор ее реализовал). А Firebird ждет ее успешного завершения.


 
oldman ©   (2007-12-19 14:44) [9]


> остальные приложения на сервере работают нормально


И с чего ты взял, что сервер повис?
Прога твоя глючная...


 
LoDr   (2007-12-19 15:11) [10]


> oldman ©   (19.12.07 14:44) [9]

IBExpert - не моя прога


 
www   (2007-12-19 15:29) [11]

чукча не читатель, чукча писатель


 
turbouser ©   (2007-12-19 15:36) [12]


> LoDr   (19.12.07 15:11) [10]

strreplace - что за UDF ? Косяк, может быть там.
Насчет "тяжелых" запросов - наверняка можно оптимизировать, иначе ССЗБ.
Есть еще вариант того, что файл бд испорчен - gfix в руки и вперед.



Страницы: 1 вся ветка

Текущий архив: 2008.01.27;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.016 c
15-1198242776
data
2007-12-21 16:12
2008.01.27
алгоритм определения региона


2-1198618035
Евгений Р.
2007-12-26 00:27
2008.01.27
Высота заголовка формы


9-1149696481
Ricks
2006-06-07 20:08
2008.01.27
Раз уж зашла речь о гравитации и физике.....


1-1193122474
031178
2007-10-23 10:54
2008.01.27
Как программно выделить нужный пункт меню в TTreeView ?


2-1198533584
Александр1
2007-12-25 00:59
2008.01.27
Вопрос по синтаксису