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

Re: Merge ra-reuse-session branch to trunk or not?

From: Ivan Zhakov <ivan_at_visualsvn.com>
Date: Sat, 19 Sep 2015 19:20:25 +0200

On 19 September 2015 at 17:24, Ivan Zhakov <ivan_at_visualsvn.com> wrote:
> On 19 September 2015 at 14:03, Branko ─îibej <brane_at_apache.org> wrote:
>> On 19.09.2015 13:12, Ivan Zhakov wrote:
>>> On 18 September 2015 at 12:49, Stefan Sperling <stsp_at_elego.de> wrote:
>>>> On Thu, Sep 17, 2015 at 05:41:41PM +0200, Ivan Zhakov wrote:
>>>>> That branch is complete and ready for merging, but I'm still not sure
>>>>> whether we should merge it or not.
>>>> I think we should merge it to trunk now.
>>>> I don't think this branch can improve much further unless we start
>>>> exercising the code ourselves to see how well it's working for us.
>>>> ANd I believe it's hard to tell whether these changes provide an
>>>> actual benefit in practice without running the code for a while.
>>>> I like the debug and profiling functionality.
>>>> This should make it easy to tune the system going forward.
>>> Ok. It seems people here generally support 'reuse-ra-session' branch
>>> concept. So I'm going to merge this branch to trunk and see how it
>>> will work.
>> +1
> Merged to trunk in r1704048.
The r1704048 broke JavaHL tests.

This happens because JavaHL bindings changes content of AUTH_BATON
field in svn_client_ctx_t between diferent svn_client_*() invocations.
While RA session in RA session pool references AUTH_BATON from first

The most interesting question is it allowed by our API or not?

If it's not allowed we just need to fix JavaHL to use the same AUTH_BATON.

Otherwise, here are my ideas at the moment:
1. Add svn_client_ctx2_t with svn_client_context_create3() that's
accept AUTH_BATON as parameter. This will require revv all
svn_client_*() functions to create new svn_client_ctx2_t() on every
invocation of deprecated function.

2. Add svn_ra_set_auth_baton() function to change AUTH_BATON in
existing RA session. But in this case RA session implementation should
re-authenticate after every reuse because new AUTH_BATON may have
different credentials.

3. Revert r1704048 and wait until next hackathon for better ideas :)

Ivan Zhakov
Received on 2015-09-19 19:21:03 CEST

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