subversion-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Markus Schaber <m.scha...@codesys.com>
Subject AW: Merge ra-reuse-session branch to trunk or not?
Date Fri, 18 Sep 2015 08:43:20 GMT
Hi,

Von: Ivan Zhakov [mailto:ivan@visualsvn.com]
> On 17 September 2015 at 21:53, Philip Martin <philip.martin@wandisco.com>
> wrote:
> > Ivan Zhakov <ivan@visualsvn.com> writes:
> >
> >> I think now is good moment to discuss whether we should merge
> >> ra-reuse-session [1] branch to trunk or not: it's better to merge
> >> such branch in the beginning of release cycle, to have more time to
> >> test and dogfood.
> >
> > +1 to merge.
> >
> >> Cons:
> >> - In makes behavior less stable. RA session pool doesn't reuse
> >> sessions that was unused for some time to avoid timeout issues
> >> - There is the chance that we will try to reuse 'broken' RA session
> >> due the bug and operation will fail
> >
> > Do you have a plan to fix this?
> I don't have specific to fix bug that didn't happen. But if we got one we
> have two directions:
> - Do not release RA session back to pool in specific case where we get it
> broken
> - Make RA session more resilent to errors. There is no reason why ra_svn
> cannot reconnect after TCP connection times out or something.
> 
> > Detect the error from a broken RA
> > session and create another?  Track the time when the session was last
> > used?  Something else?
> >
> Current implementation tracks last time when session was used and do not
> reuse RA sessions that was inactive for 5 minutes.

I created some of my own session reuse logic for the SharpSVN "SvnRemoteSession" which is
a wrapper around the RA sessions. For "connectionless" sessions like http(s), I just reuse
them, while for "connection" sessions (svn:// and especially svn+ssh://), is end a small "ping"
in form of an "stat" request to validate that the session is still active. This gives me a
high reliability, and a huge speedup over creating a new session (especially for ssh connections),
but still have the guarantee that I won't hand out sessions which are totally broken.

Maybe some similar scheme can be used here, possibly with a small time period after last successful
usage where the revalidation may be skipped.

Best regards

Markus Schaber

CODESYS® a trademark of 3S-Smart Software Solutions GmbH

Inspiring Automation Solutions

3S-Smart Software Solutions GmbH
Dipl.-Inf. Markus Schaber | Product Development Core Technology
Memminger Str. 151 | 87439 Kempten | Germany
Tel. +49-831-54031-979 | Fax +49-831-54031-50

E-Mail: m.schaber@codesys.com | Web: http://www.codesys.com | CODESYS store: http://store.codesys.com
CODESYS forum: http://forum.codesys.com

Managing Directors: Dipl.Inf. Dieter Hess, Dipl.Inf. Manfred Werner | Trade register: Kempten
HRB 6186 | Tax ID No.: DE 167014915

This e-mail may contain confidential and/or privileged information. If you are not the intended
recipient (or have received
this e-mail in error) please notify the sender immediately and destroy this e-mail. Any unauthorised
copying, disclosure
or distribution of the material in this e-mail is strictly forbidden.

Mime
View raw message