> -----Original Message-----
> From: [email protected] [mailto:[email protected]]
> Sent: donderdag 19 november 2015 19:03
> To: [email protected]
> Subject: svn commit: r1715228 -
> /subversion/trunk/subversion/libsvn_ra_serf/util.c
> 
> Author: rhuijben
> Date: Thu Nov 19 18:03:11 2015
> New Revision: 1715228
> 
> URL: http://svn.apache.org/viewvc?rev=1715228&view=rev
> Log:
> Add a tiny bit of code to allow testing with Apache Serf's http/2 support.
> 
> I committed this patch to celebrate that I got through basic_tests.py
> using the current http/2 support.
> 
> * subversion/libsvn_ra_serf/util.c
>   (conn_negotiate_protocol): New function.
>   (conn_setup): Register usage of conn_negotiate_protocol when
>     a very recent (read: trunk) serf + SVN__SERF_TEST_HTTP2 are used.

Currently most tests pass for me over http2 when running with some minor 
tweaks. I still get some aborted connections that aren't retried as cleanly as 
with http 1.1. Not sure what causes these yet; but this could also be an httpd 
issues.

The only ra function that really causes problems is the implementation of the 
replay range api. This 100% expects that results will be received in the same 
order in which they are sent. This is typically the correct way in http 1.1 
using serf, but even there it is sometimes possible to get results out of 
order. (Authentication can re-queue requests... and sometimes authorization is 
necessary even when earlier requests succeeded, depending on the auth scheme).

If you want to try this for yourself, you need http 2.4.17 with mod_http2 (or 
newer) and OpenSSL 1.0.2 or newer. (If you patch Subversion a bit further you 
should be able to use h2c, which avoids the openssl dependency).

        Bert



Reply via email to