CftClub.ru
Клуб специалистов ЦФТ-Банк

ЦФТ-Банк. Расчетный Центр. Зависания при обработке док-тов

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Настройка и сопровождение
Предыдущая тема :: Следующая тема  
Автор Сообщение
timochev
Эксперт


Вступление в Клуб: 02.07.2007
СообщениеПт Фев 01, 2008 17:03   ЦФТ-Банк. Расчетный Центр. Зависания при обработке док-тов Ответить с цитатой
Полезность: 4
Запостил в ЦФТ следующий трабл:

Обнаружены сильнейшие торможения при обработке документов РЦ. Начались они примерно неделю назад. Момент начала торможений локализовать не удалось.
Пользователь запускает операцию "Документы РЦ \ Переадресовать". Сессия зависает на глупейшем запросе:
Код:
select count(1) from Z#DOC_IN_FOLD where collection_id is null;

После долгих и утомительных умозаключений стало понятно, что все дело в DOCUM_RC.LIB_1. Там есть кусок:
Код:
         begin
         if folder.[DOCS_IN_FOLD]%size(0) = 0 then
            -- Удалим папку
            folder.[DELETE#ALL];
         end if;
         exception when others then
            if sqlcode <> -20999 then      -- если папка уже была удалена при удалении документа, возникает exception c кодом 20999 - не будем ломаться в таком случае
               raise;
            end if;
         end;

Судя по комментарию программист допускает попадание сюда при отсутствии папки. НО именно в этом случае возникает при подсчете количества документов упомянутый выше "тупой" запрос.
Если поместить этот кусок в блок
Код:
if folder is not null then
...
end if;

то запрос исчезает.
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Настройка и сопровождение Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru