[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: svn commit: r1495419 - in /subversion/trunk/subversion/libsvn_ra_serf: options.c ra_serf.h serf.c util.c

From: Philip Martin <philip.martin_at_wandisco.com>
Date: Wed, 10 Jul 2013 12:24:07 +0100

Johan Corveleyn <jcorvel_at_gmail.com> writes:

> Can someone explain again why ra_serf / serf can't just resend
> requests, with C-L, whenever it has received a 411? So (after we know
> it's HTTP/1.1) send every request optimistically assuming chunked
> encoding, and fallback whenever we get a 411 (and perhaps remember the
> fallback, so we downgrade that entire connection / session).
>
> Why is that not possible? Is it because (a) it's too hard to implement
> (lots of code paths all over the place), (b) we can't resend requests
> because we don't have them available in the right place anymore after
> sending, (c) it would potentially break some ordering things (really?
> why?), (d) it would require serf 1.4 anyway, or (e) something else?

Partly a), mostly c). It is relatively easy to do when ra_serf is
processing requests syncronously. It gets much more difficult when
ra_serf starts using pipelined requests as there may be outstanding
requests when the 411 is received. I posted a patch that keeps track of
outstanding requests and retries, it works in lots of cases but won't
work in all cases.

-- 
Philip Martin | Subversion Committer
WANdisco | Non-Stop Data
www.wandisco.com
Received on 2013-07-10 13:24:43 CEST

This is an archived mail posted to the Subversion Dev mailing list.