[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
invocation.

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.