After some further exploration, I have an update on my issue with svn up failing on my svn-externals-infested repository. Below, I report an alternative workaround, and the output of ps while doing the update.

On 1/11/2010 11:53 AM, Magnus Torfason wrote:

2: svn update (through TSVN):

At the same time, I started having intermittent "connection refused"
problems when updating my repository from the same server. This always
happened while updating one of the several svn-external directories that
I have as part of my repository. After the error, I could not ssh into
the server either, until after a few minutes. Downgrading to 1.6.1 did
not resolve this problem.

Resolution: None that is entirely satisfying.
Workaround: Choose "Omit externals" when updating.

Alternative Workaround: If I close pageant, I get prompted on each new ssh connection to the server. By entering my password only after a ten second delay for each prompt, the process completes successfully. Entering the password quickly leads to the same behavior as if pageant is running.


Output of ps: I also tried running ps -U <username> on the server while the password prompts were being displayed, and I found that a new lt-svnserve process is started for each svn-external, and they are not closed until after the operation completes (the output of these commands is included at the bottom of this email).

So it definitely seems to be an issue resulting from some sort of throttling on the server. Of course, one could argue that such throttling is unreasonable. However, it could also be argued that it is unreasonable to open a new ssh connection for each external, without closing the ones that are finished.

NOTE 1: These are *not* nested externals, all externals are "side by side" in the main repository, and refer to the same (small) directory within the same repo.

NOTE 2: I can open putty terminals to the same server willy nilly without problems, so it is not simply an issue of a limit on the number of ssh connections as such. It may be a limit on the number of ssh connections in a particular state (hanging, etc.) or something else.

Best,
Magnus

###########################################
# Output of ps -U <username> while completing a svn up
# operation through TSVN
###########################################

# # First password prompt
# ps -U <username>
  PID TTY          TIME CMD
18444 ?        00:00:00 sshd
18472 pts/9    00:00:00 bash
18791 ?        00:00:00 sshd
18807 ?        00:00:00 lt-svnserve
20074 pts/9    00:00:00 ps
# # First external (second password prompt)
# ps -U <username>
  PID TTY          TIME CMD
18444 ?        00:00:00 sshd
18472 pts/9    00:00:00 bash
18791 ?        00:00:00 sshd
18807 ?        00:00:00 lt-svnserve
21397 ?        00:00:00 sshd
21407 ?        00:00:00 lt-svnserve
22095 pts/9    00:00:00 ps
# # Second external
# ps -U <username>
  PID TTY          TIME CMD
18444 ?        00:00:00 sshd
18472 pts/9    00:00:00 bash
18791 ?        00:00:00 sshd
18807 ?        00:00:00 lt-svnserve
21397 ?        00:00:00 sshd
21407 ?        00:00:00 lt-svnserve
24501 ?        00:00:00 sshd
24514 ?        00:00:00 lt-svnserve
24945 pts/9    00:00:00 ps
# # Third external
# ps -U <username>
  PID TTY          TIME CMD
18444 ?        00:00:00 sshd
18472 pts/9    00:00:00 bash
18791 ?        00:00:00 sshd
18807 ?        00:00:00 lt-svnserve
21397 ?        00:00:00 sshd
21407 ?        00:00:00 lt-svnserve
24501 ?        00:00:00 sshd
24514 ?        00:00:00 lt-svnserve
25991 ?        00:00:00 sshd
26005 ?        00:00:00 lt-svnserve
26261 pts/9    00:00:00 ps
# # Fourth external
# ps -U <username>
  PID TTY          TIME CMD
18444 ?        00:00:00 sshd
18472 pts/9    00:00:00 bash
18791 ?        00:00:00 sshd
18807 ?        00:00:00 lt-svnserve
21397 ?        00:00:00 sshd
21407 ?        00:00:00 lt-svnserve
24501 ?        00:00:00 sshd
24514 ?        00:00:00 lt-svnserve
25991 ?        00:00:00 sshd
26005 ?        00:00:00 lt-svnserve
28945 ?        00:00:00 sshd
28957 ?        00:00:00 lt-svnserve
29157 pts/9    00:00:00 ps
# # Fifth external
# ps -U <username>
  PID TTY          TIME CMD
18444 ?        00:00:00 sshd
18472 pts/9    00:00:00 bash
18791 ?        00:00:00 sshd
18807 ?        00:00:00 lt-svnserve
21397 ?        00:00:00 sshd
21407 ?        00:00:00 lt-svnserve
24501 ?        00:00:00 sshd
24514 ?        00:00:00 lt-svnserve
25991 ?        00:00:00 sshd
26005 ?        00:00:00 lt-svnserve
28945 ?        00:00:00 sshd
28957 ?        00:00:00 lt-svnserve
30962 ?        00:00:00 sshd
30975 ?        00:00:00 lt-svnserve
31222 pts/9    00:00:00 ps
# # Six instances of svnserve running !
#
# # ...
#
# # Subversion finished
# ps -U <username>
  PID TTY          TIME CMD
  662 pts/9    00:00:00 ps
18444 ?        00:00:00 sshd
18472 pts/9    00:00:00 bash

Reply via email to