добавил отладку. в recv передается не ноль. из recv возвращается ноль.
вс, 13 окт. 2019 г. в 20:44, Илья Шипицин <chipits...@gmail.com>: > > > вс, 13 окт. 2019 г. в 20:11, Evgeniy Berdnikov <b...@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 > >
_______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru