<div dir="ltr">Yes that seems much better than taking over the <span style="font-family:arial,sans-serif;font-size:13px">u->headers_in.content_length_n field.</span><div><div><span style="font-family:arial,sans-serif;font-size:13px"><br>
</span></div><div><font face="arial, sans-serif">Didn't realize just how similar memcache was :)</font></div><div><span style="font-family:arial,sans-serif;font-size:13px"><br></span></div><div><span style="font-family:arial,sans-serif;font-size:13px">Thanks.</span></div>
</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Nov 28, 2013 at 8:10 PM, Maxim Dounin <span dir="ltr"><<a href="mailto:mdounin@mdounin.ru" target="_blank">mdounin@mdounin.ru</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello!<br>
<div><div class="h5"><br>
On Thu, Nov 28, 2013 at 07:39:32PM +1030, SplitIce wrote:<br>
<br>
> I am aware atleast 2 others are considering developing patches with one the<br>
> module maintainer.<br>
><br>
> I wanted to improve so have attempted this upgrade myself. Its only a small<br>
> patch, from my understanding its the upstream length field that has changed<br>
> between 1.4.x and 1.5.x.<br>
><br>
> I would like to know if I have done something I shoudnt etc so as to<br>
> improve my nginx knowledge.<br>
><br>
> The commits -<br>
> <a href="https://github.com/splitice/ngx_http_redis/commit/88d423c17a8614b29635994839649c3e0d576641" target="_blank">https://github.com/splitice/ngx_http_redis/commit/88d423c17a8614b29635994839649c3e0d576641</a><br>

> <a href="https://github.com/splitice/ngx_http_redis/commit/c7dbe9fa75001787bd6602c4029e0e314798a37d" target="_blank">https://github.com/splitice/ngx_http_redis/commit/c7dbe9fa75001787bd6602c4029e0e314798a37d</a><br>

><br>
> I always find myself worried that I will do something that will have<br>
> strange flow on effects e.g at a certain length in a buffer etc.<br>
<br>
</div></div>You mean adoption for the API change in nginx 1.5.3:<br>
<br>
    *) Change in internal API: now u->length defaults to -1 if working with<br>
       backends in unbuffered mode.<br>
<br>
(quote from <a href="http://nginx.org/en/CHANGES" target="_blank">http://nginx.org/en/CHANGES</a>)?<br>
<br>
You patches look wrong for me, correct one should be like the<br>
change to memcached module in this commit:<br>
<br>
<a href="http://hg.nginx.org/nginx/rev/f538a67c9f77" target="_blank">http://hg.nginx.org/nginx/rev/f538a67c9f77</a><br>
<br>
That is, in u->length should be explicitly set in filter init<br>
callback, not just incremented from a default value (which was<br>
changed).<br>
<br>
Something like this should work (not tested):<br>
<br>
--- ngx_http_redis_module.c.orig        2013-11-28 13:35:28.000000000 +0400<br>
+++ ngx_http_redis_module.c     2013-11-28 13:37:19.000000000 +0400<br>
@@ -578,7 +578,7 @@ ngx_http_redis_filter_init(void *data)<br>
<br>
     u = ctx->request->upstream;<br>
<br>
-    u->length += NGX_HTTP_REDIS_END;<br>
+    u->headers_in.content_length_n + NGX_HTTP_REDIS_END;<br>
<br>
     return NGX_OK;<br>
 }<br>
<br>
<br>
Author CC'd.<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Maxim Dounin<br>
<a href="http://nginx.org/en/donation.html" target="_blank">http://nginx.org/en/donation.html</a><br>
<br>
_______________________________________________<br>
nginx-devel mailing list<br>
<a href="mailto:nginx-devel@nginx.org">nginx-devel@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-devel" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-devel</a><br>
</font></span></blockquote></div><br></div>