I am setting up a terminal server for a small group of developers. They will all be using the SVN client to access the central SVN repository. Every project in our SVN repository contains lots of externals (some 180, some 300). All externals go to the same repository (this is the way we share code amongst projects).
SVN UPDATE fails because Windows reports that he's running out of sockets. In the event viewer we see the following message:
TCP/IP failed to establish an outgoing connection because the selected local endpoint was recently used to connect to the same remote endpoint. This error typically occurs when outgoing connections are opened and closed at a high rate, causing all available local ports to be used and forcing TCP/IP to reuse a local port for an outgoing connection. To minimize the risk of data corruption, the TCP/IP standard requires a minimum time period to elapse between successive connections from a given local endpoint to a given remote endpoint.
According to the Windows documentation, a terminal server should use socket ports starting from around 50000, and have about 16000 ports available. However, it seems that SVN gets ports from around 21000, with only about 200 ports available.
- Is there a way to tell SVN to group externals together using 1 socket, without closing and reopening the sockets?
- How can you configure the ports that Windows will use for network communication? Is the documentation right (ports starting at 50000, 16000 ports available), or are our observations right (ports starting at 21000, 200 ports available)
- Any other suggestions on how to solve this problem? (getting rid of the externals is no option at this moment).