Форум проекта Pro-LDAP.ru

Общие вопросы по LDAP => Общий раздел => Тема начата: davidoff от 02 Август 2017, 16:24:30

Название: Ошибка deferring operation: pending operations
Отправлено: davidoff от 02 Август 2017, 16:24:30
Добрый день, столкнулись с такой ошибкой :
Цитировать
slapd[31825]: connection_input: conn=80830 deferring operation: pending operations

Возникает переодически, не понятно по каким причинам. Если по ней гуглить то речь идет про переполнении сетевых буферов или сокетов. Может быть кто сталкивался с ней и как ее лечить ? Спасибо
Название: Re: Ошибка deferring operation: pending operations
Отправлено: egor от 04 Август 2017, 15:43:04
Здравствуйте!

Редкая ошибка, информации по ней в интернете практически нет. Ховард Чу (разработчик OpenLDAP) не считает её ошибкой (http://openldap-software.0penldap.narkive.com/n5dSQfB3/deferring-operation-pending-operations), а связывает с плохо написанным клиентом, посылающим непомерно много запросов. Второй вариант -- неверная последовательность запросов/ответов при выполнении операции подсоединения (Bind) -- ситуация описана в той же переписке. Попробуйте посмотреть в сторону клиента.

Егор
Название: Re: Ошибка deferring operation: pending operations
Отправлено: Леонид Юрьев от 14 Август 2017, 16:37:01
Ну это совсем не ошибка и Ховард совершенно прав.

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

Однако, использовать такое не рекомендую. Точнее только после тщательной проверки (нагруженных тестов).
Фишка в том, что сервер волен исполнять такие запросы и возвращать результаты в произвольном порядке (не в случае ReOpenLDAP или OpenLDAP).
Соответственно, на стороне клиента нужно правильно разобрать ответы и  корректно упорядочивать разнородные запросы (чтение с последующим удалением на стороне сервера может превратиться в удаление с попыткой чтения уже удаленной информации).