Re: ошибка "upstream prematurely closed connection" - обсудим ?

Илья Шипицин chipitsine на gmail.com
Пн Окт 14 06:59:44 UTC 2019


добавил отладку.

в recv передается не ноль. из recv возвращается ноль.


вс, 13 окт. 2019 г. в 20:44, Илья Шипицин <chipitsine на gmail.com>:

>
>
> вс, 13 окт. 2019 г. в 20:11, Evgeniy Berdnikov <bgx на protva.ru>:
>
>> On Sun, Oct 13, 2019 at 02:18:30PM +0500, Илья Шипицин wrote:
>> >    в одном месте - не завершается:
>> >
>> http://hg.nginx.org/nginx/file/tip/src/http/ngx_http_upstream.c#l2369
>> >    собственно, recv в некоторых случаях может выдавать 0 и это не всегда
>> >    ошибка (у нас CentOS 7, возможно, там какая-то своя магия еще, с
>> >    какими-нибудь сетевыми штуками бекпортированными в ядро 3.10)
>> >    man recv
>> >    ...
>> >    "The value 0 may also be returned if the requested number of bytes to
>> >    receive from a stream socket was 0."
>>
>>  Насколько я разбираюсь в английском, "requested number of bytes" -- это
>>  значение аргумента len, т.е. ситуация, когда в recv() передают длину
>>  буфера равную нулю, т.е. из сокета запрашивается чтение нуля байт.
>>  Nginx действительно так делает?
>>
>
> я не добавлял в это место логирование. не могу наверняка сказать.
> у нас выключена настройка "proxy_buffering off;" и еще в каких-то моментах
> конфиг отличается от дефолтного.
>
> возможно, что при некоторой комбинации параметров может передаваться 0 в
> recv (я попробую в это место отладку добавить),
> возможно, что 0 возращается по каким-то другим причинам, связанным с
> особенностью recv под centos
>
>
>
>> >    собственно, в этом месте меняем текст. и, чудо, после этого
>> залогированные
>> >    "upstream prematurely closed connection" идеально кореллируют с
>> реальными
>> >    обрывами.
>>
>>  Что на что меняем? diff покажите.
>>
>
> вроде бы это не должно иметь значения.
> у меня три места, где генерируется "upstream prematurely closed
> connection". одно из этих мест я меняю на что-то отличное, чтобы в логе
> понять,
> где срабатывает ошибка. допустим, меняю на "xyz"
>
>
>> --
>>  Eugene Berdnikov
>> _______________________________________________
>> nginx-ru mailing list
>> nginx-ru на nginx.org
>> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>
>
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20191014/7023cdb8/attachment-0001.htm>


Подробная информация о списке рассылки nginx-ru