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

RE: svn commit: r1715228 - /subversion/trunk/subversion/libsvn_ra_serf/util.c

From: Bert Huijben <bert_at_qqmail.nl>
Date: Thu, 19 Nov 2015 22:03:28 +0100

> -----Original Message-----
> From: rhuijben_at_apache.org [mailto:rhuijben_at_apache.org]
> Sent: donderdag 19 november 2015 19:03
> To: commits_at_subversion.apache.org
> 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).

Received on 2015-11-19 22:03:47 CET

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