Closed akamatgi closed 10 years ago
Also, the redis server version is 2.8.8, running in standalone mode.
@akamatgi Please enable the NGINX debug logging and check the outputs: http://nginx.org/en/docs/debugging_log.html
Hi @agentzh, I enabled the debug logs and found this entry in the logs: 2014/04/20 10:14:28 [info] 18423#0: *21 client prematurely closed connection, so upstream connection is closed too while sending request to upstream, ... The corresponding packet dump revealed that the client( in this case, wget ) was closing the connection before nginx could send the complete request to redis. With curl, I am not seeing the issue. So, it is wget which is the culprit. Thanks for your help.
@agentzh Even though I closed this issue, I have a doubt here. Why is the subrequest getting closed when the client connection closes? Is there no way to tie them up, i.e client connection should wait for all subrequests to complete. Thanks, -anirudh
@akamatgi Thank you for the report! I've just committed a fix to ngx_redis2's git master branch to ignore client aborts. Will you try it out on your side?
Yes, it works now. Thanks for the fix, @agentzh
Hi, I am running nginx-1.4.5 with the HttpSRCache module and using redis as the backend.
srcache-module version: v0.26 ngx_redis2 version: v0.10 echo-nginx version: v0.50 ngx_set_misc version: v0.24
my nginx.conf (snippet) is: location / { set $key $uri; set_escape_uri $escaped_key $key;
} location = /redis2-get { internal;
I am seeing that when the response is small ( currently I am seeing anything < 1K ), it gets stored on the redis server.
However, when I am fetching a bigger response( currently I am seeing issues with anything > 100K ), everything seems fine, i.e I can see the nginx doing a 'set' on the redis server, but nothing gets stored on the redis.
Is there any size limitation? Can I see any logs to debug this issue? Right now, I see nothing in the nginx or the redis logs.
Is there any known issue? Thanks in advance. -anirudh