Автор Тема: Ошибка deferring operation: pending operations  (Прочитано 3263 раз)

davidoff

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Ошибка deferring operation: pending operations
« : 02 Август 2017, 16:24:30 »
Добрый день, столкнулись с такой ошибкой :
Цитировать
slapd[31825]: connection_input: conn=80830 deferring operation: pending operations

Возникает переодически, не понятно по каким причинам. Если по ней гуглить то речь идет про переполнении сетевых буферов или сокетов. Может быть кто сталкивался с ней и как ее лечить ? Спасибо

egor

  • Администратор
  • Старожил
  • *****
  • Сообщений: 417
    • Просмотр профиля
Re: Ошибка deferring operation: pending operations
« Ответ #1 : 04 Август 2017, 15:43:04 »
Здравствуйте!

Редкая ошибка, информации по ней в интернете практически нет. Ховард Чу (разработчик OpenLDAP) не считает её ошибкой, а связывает с плохо написанным клиентом, посылающим непомерно много запросов. Второй вариант -- неверная последовательность запросов/ответов при выполнении операции подсоединения (Bind) -- ситуация описана в той же переписке. Попробуйте посмотреть в сторону клиента.

Егор

Леонид Юрьев

  • Новичок
  • *
  • Сообщений: 46
    • Просмотр профиля
Re: Ошибка deferring operation: pending operations
« Ответ #2 : 14 Август 2017, 16:37:01 »
Ну это совсем не ошибка и Ховард совершенно прав.

Сообщение лишь говорит о том, что по соединению поступил очередной запрос, до того как сервер закончил обрабатывать предыдущий.
Это может быть следствием ошибки на клиентской стороне, если только это не сделано намерено.
Например в HTTP это штатная ситуация = https://ru.wikipedia.org/wiki/HTTP_pipelining

Однако, использовать такое не рекомендую. Точнее только после тщательной проверки (нагруженных тестов).
Фишка в том, что сервер волен исполнять такие запросы и возвращать результаты в произвольном порядке (не в случае ReOpenLDAP или OpenLDAP).
Соответственно, на стороне клиента нужно правильно разобрать ответы и  корректно упорядочивать разнородные запросы (чтение с последующим удалением на стороне сервера может превратиться в удаление с попыткой чтения уже удаленной информации).
« Последнее редактирование: 21 Август 2017, 19:45:10 от Леонид Юрьев »