request synchronization error

Access Violation, некорректное выполнение запросов или вызовов API, ошибки утилит командной строки, в общем все, что вам мешает работать

Модераторы: kdv, dimitr

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 26 фев 2008, 21:41

Лог на сервере надо бы посмотреть. Явно не хватает какого-то ресурса на больших объёмах, а клиентское сообщение, похоже, малоинформативно говорит о следствии. Или .msg не той системы.

Attid
Спец
Сообщения: 377
Зарегистрирован: 14 ноя 2006, 09:58

Сообщение Attid » 27 фев 2008, 08:45

а я все равно думаю что 1:30 это много =) тем более как я понял каждую ночь . . а про ежедневную архивацию еще сложнее, может производственого календаря в таком случае не хватает ?

да и такой обьем по сети не очень хорошо тащить, не проще на сервере выгрузить и запаковать, а там уже отправить ?

но ладно это можно в других темах обсудить по теме
хотелось бы услышать
1, кол-во строк которое не выгружалось за раз (select count(*) from procedure)
2. кол-во символов в одно строке (хочу смодулировать у себя)
3, cтроку запуска isql (типа используете ли -o -i)

AntonYa
Сообщения: 28
Зарегистрирован: 26 фев 2008, 10:35

Сообщение AntonYa » 27 фев 2008, 11:36

Merlin писал(а):Лог на сервере надо бы посмотреть. Явно не хватает какого-то ресурса на больших объёмах, а клиентское сообщение, похоже, малоинформативно говорит о следствии. Или .msg не той системы.
Да нет с ресурсами там все гуд, на файловой системе таких ограничений нет (ext3), операционка тож нормальная - Linux RHE
да и такой обьем по сети не очень хорошо тащить, не проще на сервере выгрузить и запаковать, а там уже отправить ?
там на обоих серваках стоит гигабитная сеть + они в одном сегменте...

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 27 фев 2008, 12:37

Attid писал(а):а я все равно думаю что 1:30 это много =) тем более как я понял каждую ночь
Голубчик, а ты объём данных и характер расчётов в этой конкретной базе/задаче представляешь? У мну еженощно 4 часа молотит расчёт статистик. Приходи, поучишь оптимизировать :)

AntonYa
Сообщения: 28
Зарегистрирован: 26 фев 2008, 10:35

Сообщение AntonYa » 27 фев 2008, 13:10

При симуляции ситуация повторилась - как выяснилось проблема в udfs datetostr - она выедает память на серваке (в нашем случае 2,4 гига!!!) в длинных циклах...

WildSery
Заслуженный разработчик
Сообщения: 1738
Зарегистрирован: 05 июн 2006, 16:19

Сообщение WildSery » 27 фев 2008, 13:28

Прикольно.
Я вообще не люблю писать функции с FREE_IT, возвращаю через входной параметр всегда, пусть у сервера голова болит, как выделить и куда дальше девать память, потому есть своя DateToStr :)
Вот интересно, в этом случае будет забийство памяти или нет...

2 Merlin
Думается, глядя на приведённый запрос, у них всёж-таки можно оптимизировать.
Про твоё хозяйство ничего не знаю ;)

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 27 фев 2008, 13:38

WildSery писал(а):Прикольно.
Я вообще не люблю писать функции с FREE_IT, возвращаю через входной параметр всегда, пусть у сервера голова болит, как выделить и куда дальше девать память, потому есть своя DateToStr :)
Вот интересно, в этом случае будет забийство памяти или нет...
Осталось ещё понять, на кой она вообще на сервере нужна... Один всё равно шедулируемые задачи по структуре мироздания положено ботом выполнять, пусть он и форматирует.
WildSery писал(а): 2 Merlin
Думается, глядя на приведённый запрос, у них всёж-таки можно оптимизировать.
Да там не запрос, а схема. А после него туева хуча всякого-разного.
WildSery писал(а): Про твоё хозяйство ничего не знаю ;)
У меня-то? Да конечно можно. Перечень задач растёт, как подходим в очередной раз к тому, что расчёт заканчивается за полчаса до начала рабочего дня, объявляем коммунистический субботник и оптимизируем в очередной до приемлемого уровня. Помнится, в начале 80-х, когда преимущественно на MACRO-11 работали, был у меня приятель, который ко всем приставал - спорим на пиво, я любую твою программу сделаю на 4 байта короче. Пиво у него всегда было, нет предела совершенству. Не кодом, так структурно.

Dmitry Dyachenko
Сообщения: 20
Зарегистрирован: 06 апр 2005, 10:27

Сообщение Dmitry Dyachenko » 27 фев 2008, 14:11

Задачу, которая в той процедуре является узким местом, описал в http://forum.ibase.ru/phpBB2/viewtopic.php?p=27445

Буду благодарен за любую помощь. И все наши клиенты наверное тоже.

Dmitry Dyachenko
Сообщения: 20
Зарегистрирован: 06 апр 2005, 10:27

Сообщение Dmitry Dyachenko » 27 фев 2008, 14:17

Merlin писал(а): Осталось ещё понять, на кой она вообще на сервере нужна...
Для выдачи в результат запроса даты в форматированном виде для упрощения последующей обработки видимо. Встроенного механизма для этого я не знаю, простое преобразование в строку потом тяжело разобрать. Диалект первый.
Merlin писал(а): Да там не запрос, а схема. А после него туева хуча всякого-разного.
Туча состоит в основном из выборок из небольших таблиц по первичному ключу и логики из IF и присваиваний. О том, что действительно должно отнимать время, я рассказал в другой теме, ссылка чуть выше.

Attid
Спец
Сообщения: 377
Зарегистрирован: 14 ноя 2006, 09:58

Сообщение Attid » 27 фев 2008, 14:18

Голубчик, а ты объём данных и характер расчётов в этой конкретной базе/задаче представляешь? У мну еженощно 4 часа молотит расчёт статистик. Приходи, поучишь оптимизировать
ну в принципе ты и WildSery уже все ответили, найти что всегда можно =)

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

Dmitry Dyachenko
Сообщения: 20
Зарегистрирован: 06 апр 2005, 10:27

Сообщение Dmitry Dyachenko » 27 фев 2008, 14:24

WildSery писал(а):Прикольно.
Я вообще не люблю писать функции с FREE_IT, возвращаю через входной параметр всегда, пусть у сервера голова болит, как выделить и куда дальше девать память, потому есть своя DateToStr :)
В нашей реализации этих функций именно так и сделано. Но они появились позже, чем понадобились сотрудникам автора темы, потому пока там использовалась RFunc.

Марк
Сообщения: 1
Зарегистрирован: 26 май 2008, 19:46

Сообщение Марк » 27 май 2008, 11:51

firebird 1.0.3

Код: Выделить всё

CREATE PROCEDURE PIPEC
as
declare variable i integer;
declare variable x integer;
begin
  x=0;
  while (1=1) do
  begin
     for select 1 from rdb$database into i do
     begin
        x=x+1;
     end
     break;
  end
end
приводит к этой же ошибке.

Код: Выделить всё

CREATE PROCEDURE PIPEC
as
declare variable i integer;
declare variable x integer;
begin
  while (1=1) do
  x=0;
  begin
     for select 1 from rdb$database into i do
     begin
        x=x+1;
-- ACHTUNG
        suspend; 
     end
     break;
  end
end
не приводит к ошибке, не смотря на то что output переменных вообще нет.

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Сообщение hvlad » 27 май 2008, 12:38

Марк писал(а):firebird 1.0.3
Забудь.

PS дальше даже не читал

Antoxa
Сообщения: 169
Зарегистрирован: 06 июл 2006, 10:53

Сообщение Antoxa » 28 май 2008, 04:18

AntonYa писал(а):Разделили выгрузку на две части - сформировалась...
Вопрос - нет ли ограничений на кол-во строк в файле или что-то подобного?
В операционке таких ограничений нет...
Может ограничение на объем файла у ОС???

Ответить