Hi all,
The TortoiseSVN “Get Lock…” for multiple files via a Java-SSL-tunnel fails for me since v1.9.0 (build 26652) up to the latest version v1.9.4 (27285). The older version 1.8.12 (build 26645) still works perfectly. Note that a direct connection (i.e. without tunnel) to the server works fine for all versions.
The SSL tunnel is created via a Java applet (“SSL tunnel applet 1.0”) running in Firefox because an authentification with a collax business server is required.
The issue arises when I select i.e. a directory in the windows explorer (Win7, x64) and choose “TortoiseSVN->Get Lock…”. The file-locking dialog appears and displays the first more or less 20 files and then hangs with a transfer speed of 0 bytes/s. Surprisingly, the locks are assigned to each file on the server, but the TortoiseSVN-client assigns it only to some files. Consequently, a “Release lock” only releases some but not all files and a “break lock” is required afterwards.
Did multiple file locking somehow changed from 1.8.12 to 1.9.0? The old version seems to request the lock file-by-file and the newer one seems to send out all requests at once.
Is this a bug in TortoiseSVN or is it a bug in the SSL tunnel applet?
Thanks for any help,
Best regards,
David
Hi all, The TortoiseSVN “Get Lock…” for multiple files via a Java-SSL-tunnel fails for me since v1.9.0 (build 26652) up to the latest version v1.9.4 (27285). The older version 1.8.12 (build 26645) still works perfectly. Note that a direct connection (i.e. without tunnel) to the server works fine for all versions. The SSL tunnel is created via a Java applet (“SSL tunnel applet 1.0”) running in Firefox because an authentification with a collax business server is required. The issue arises when I select i.e. a directory in the windows explorer (Win7, x64) and choose “TortoiseSVN->Get Lock…”. The file-locking dialog appears and displays the first more or less 20 files and then hangs with a transfer speed of 0 bytes/s. Surprisingly, the locks are assigned to each file on the server, but the TortoiseSVN-client assigns it only to some files. Consequently, a “Release lock” only releases some but not all files and a “break lock” is required afterwards. Did multiple file locking somehow changed from 1.8.12 to 1.9.0? The old version seems to request the lock file-by-file and the newer one seems to send out all requests at once.
-- Regards, Stefan Hett
-- Regards, Stefan Hett
I run another check with 1000 files in a test directory: -> Just saying 'svn lock *' works fine, it locks file after file and gives a good visual feedback of what is happening. -> TortoiseSVN (v1.9.4) instead shows up nearly immeadiatly "Locked by ... file ..." for about 37 files, then pauses with transfer-speed-zero. If waiting long enough (about 5 min) it continues working but throws an already-locked-error for about 50 files and then continues locking the missing ones correctly. For me it seems that TortoiseSVN somehow tries to lock a bunch of files immeadiatly but can't receive all server-answers on a slow (bad?) connection (Java-SSL-Tunnel) and finally times out. SVN instead seems to work file-by-file (as did Tortoise 1.8.12) and manages to lock all files without problems. Could this be a possible explanation? Is there a possibility (i.e. a setting) to switch back to the "old" file-by-file locking?
-- Regards, Stefan Hett
-- Regards, Stefan Hett
On 06.05.2016 13:12, Stefan Hett wrote:Hi David,Hi David,I run another check with 1000 files in a test directory: -> Just saying 'svn lock *' works fine, it locks file after file and gives a good visual feedback of what is happening. -> TortoiseSVN (v1.9.4) instead shows up nearly immeadiatly "Locked by ... file ..." for about 37 files, then pauses with transfer-speed-zero. If waiting long enough (about 5 min) it continues working but throws an already-locked-error for about 50 files and then continues locking the missing ones correctly. For me it seems that TortoiseSVN somehow tries to lock a bunch of files immeadiatly but can't receive all server-answers on a slow (bad?) connection (Java-SSL-Tunnel) and finally times out. SVN instead seems to work file-by-file (as did Tortoise 1.8.12) and manages to lock all files without problems. Could this be a possible explanation? Is there a possibility (i.e. a setting) to switch back to the "old" file-by-file locking?That's kind of my suspicion here too (aka: some operation fails/breaks on the server or the transmission is lost, client waits for a time out and then you have the hang which you are describing). Maybe Stefan Küng can confirm whether TSVN just utilizes the SVN library here directly (rather than doing some special things itself). If so, it's worth moving that on to the SVN users list, I guess...TSVN of course uses the svn library APIs to do the locking. It passes all files to be locked to the API at once, and then the API would do the locking.
-- Regards, Stefan Hett
On 06.05.2016 13:43, Stefan Hett wrote:TSVN of course uses the svn library APIs to do the locking. It passes all files to be locked to the API at once, and then the API would do the locking.With regards to determine the impact from the Subversion project point of view: Do you know whether that API was available in 1.8 already (aka: passing multiple files to be locked) or whether that API was introduced in 1.9 (and TSVN 1.8 used a different API)?The API was available in 1.8 as well (actually, the API hasn't changed since version 1.2). But the underlying protocol and how the svn lib handles the locks have changed. For example, when the API was introduced svn still used the neon lib for DAV requests, then came serf, and then neon was dropped. So a lot has changed under the hood.
-- Regards, Stefan Hett, Developer/Administrator EGOSOFT GmbH, Heidestrasse 4, 52146 Würselen, Germany Tel: +49 2405 4239970, www.egosoft.com Geschäftsführer: Bernd Lehahn, Handelsregister Aachen HRB 13473
-- Regards, Stefan Hett