Get latest version fails with timeout - by mvarblow

Status : 

  Fixed<br /><br />
		This item has been fixed in the current or upcoming version of this product.<br /><br />
		A more detailed explanation for the resolution of this particular item may have been provided in the comments section.

Sign in
to vote
ID 748576 Comments
Status Closed Workarounds
Type Bug Repros 9
Opened 6/12/2012 6:47:07 AM
Access Restriction Public


We have several developers who have started using VS 2012.  Whenever we create a new branch those developers receive timeout errors when they try to get the latest version of their workspace.  If they switch back to VS 2010, they can successfully get latest.  

We're running TFS 2010 on the server.  Our branches are fairly large, about 30,000 files for a total of about 3 GB.  Most of the files are small.  There are a handful of medium sized files, up to about 30 MB.

The get latest version always seems like it's working.  It spits out file name after file name and chugs along for a few minutes.  But after about 3-5 minutes it pauses for about 2 minutes and starts spitting out error after error.  Here's a sampling of the errors:

Getting TelSelectionSummary.sql.cs
C:\Tf\Advantage\Clients\API\2012R2\Test\Solution\Cursors\FrequencyChangeMapTree.sql.cs: TF400307: The download operation timed out after waiting 120 seconds for a response from the server.
Getting TelValidCallOutcome.sql
C:\Tf\Advantage\Clients\API\2012R2\Test\Solution\Cursors\KeywordValidValueTree.sql: TF400307: The download operation timed out after waiting 120 seconds for a response from the server.
Getting TelValidCallOutcome.sql.cs
C:\Tf\Advantage\Clients\API\2012R2\Test\Solution\Cursors\OnixCopyrightYear.sql.cs: TF400307: The download operation timed out after waiting 120 seconds for a response from the server.
Getting TelValidCallOutcomeTree.sql
C:\Tf\Advantage\Clients\API\2012R2\Test\Solution\Cursors\ProAdoptionDlg.sql.cs: TF400307: The download operation timed out after waiting 120 seconds for a response from the server.
Getting TelValidCallOutcomeTree.sql.cs
C:\Tf\Advantage\Clients\API\2012R2\Test\Solution\Cursors\RecordDefinitionTree.sql: TF400307: The download operation timed out after waiting 120 seconds for a response from the server.
Getting TemplateData.sql
C:\Tf\Advantage\Clients\API\2012R2\Test\Solution\Cursors\SelectToolTemplateElementDlg.sql: TF400307: The download operation timed out after waiting 119 seconds for a response from the server.
Getting TemplateData.sql.cs
C:\Tf\Advantage\Clients\API\2012R2\Test\Solution\Cursors\TelRepAssociatedBillOrg.sql.cs: TF400307: The download operation timed out after waiting 120 seconds for a response from the server.
Getting TemplateDataTest.sql
C:\Tf\Advantage\Clients\API\2012R2\Test\Solution\Cursors\TelSelectionSummary.sql: TF400307: The download operation timed out after waiting 119 seconds for a response from the server.

We've looked in the Event Logs and the SQL Server logs on the TF server.  Nothing interesting.  The databases and database files seem healthy and stable.  We only get these timeout errors using VS 2012 on the client.  (We also saw these errors with the Beta of VS11.)
Sign in to post a comment.
Posted by Code Chief on 4/3/2015 at 9:03 AM
I worked around the problem by optimizing the database on the TFS Server. After tracing the Visual Studio requests with Fiddler I discovered it was waiting for a response to the first version request POST but never got a reply, suggesting a server problem. Our 28GB TFS database had two problems. First the indexes had not been rebuilt after a shrink, second SQL 2014 RTM was crashing and needed CU6 installed so it could complete a new daily maintenance plan I created to avoid these problems in the future. The message here is this error also indicates a potential server problem and think about maintenance plans for the TFS database.
Posted by Code Chief on 4/3/2015 at 3:24 AM
Problem still occurs in Visual Studio 2013 Update 4. So were the increased timeouts just hard coded again or do we now have some settings to adjust now? Hopefully any effort spent on this issue (closed as "fixed") was to expose these values in a config file?
Posted by AU Mikey on 2/15/2013 at 2:05 PM
Seems to be resolved for me in Visual Studio 2012 Update 2 CTP 2.
Posted by Microsoft on 10/19/2012 at 10:43 AM
Hello all,

There might be a couple of different issues here - for starters, in TFS2012 we increased the server timeout for large files, so you should see way less timeouts due to this. We also made a number of performance enhancements that would make timeouts less likely to begin with.

The timeout logic exists exactly to deal with slow networks or servers that don't keep sending additional packets to teh client. Unfortunately, it's not necessarily easy to create a single strategy that would work for every case. We increased some timeouts because some customers have very large databases and things sometimes DO take a long time, but there are other things we could certainly do to improve this.

Could I ask you to please go to the TFS User Voice site and put this issue there? This would allow us to gauge how prevalent these problems are and prioritize this over several other important requests.

Thank you, Daniel.

Posted by schexi on 9/17/2012 at 7:16 AM

I am experiencing problem with VS2012 client + TFS 2010 server. I have not tried it over TFS2012 server yet. As I mentioned earlier that branch size is only 200MB (approx) and there no network issues as it works fine if I use VS2010 client instead.


Shahzad Hassan
Posted by Code Chief on 9/17/2012 at 4:46 AM
...and of course the network should be fixed. But that is out of my control. And what about using TFS remote like on a high speed train. Updating TFS to increase robustness would certainly help regardless of the circumstances.
Posted by Code Chief on 9/17/2012 at 4:44 AM
This problem occurs for me with both VS2010 and VS2012 only on machines behind an additional VPN/NAT solution (in this case Juniper Network Client). On other areas of the network it works fine on both VS versions.

The behaviour is the same and very annoying. It runs along quite quickly at the beginning, then as soon as it encounters a large file it gets stuck. The annoying part is it just sits there for 10 minutes before realizing, then doesn't appear to retry meaning you have to try and get the whole thing again.

I think the problem is the general behaviour of timeouts and retries in TFS (service side too). I would like to suggest a LOWER timeout but with MORE RETRIES. That would make sure a bad transmission was corrected quickly and make it robust. Think of ROBOCOPY, which just works and continues without re-requesting all the data from the start. TFS should be like that.

Maybe TFS should be tested a bit more over slow/dodgy connections. That would really help. Try one of those test proxies which throttles transfer rates and introduces random line drops.
Posted by mvarblow on 9/12/2012 at 11:38 AM
The problem occurs for us when using the VS 2012 client with our TFS 2010 server. The VS 2010 client works like a charm.
Posted by Microsoft on 9/11/2012 at 7:51 AM
Hello schexi, are you experiencing the problem with a TFS 2012 server or this is happening in the VS2012 client + TFS 2010 Server?
Posted by schexi on 8/30/2012 at 3:50 PM
Forgot to mention that the time-out only occurs if get command is issued on a branch to download everything. It works fine if individual folders/files are fetched.


Shahzad Hassan
Posted by schexi on 8/30/2012 at 3:45 PM
Hi Matt

I just want to make another point is that the branch size is fairly small, just under 200MB, in my scenario. I get the time-out error exactly on the same file if I give it another go, even if I delete all of the files from the local folder and force a get. Once the time-out error is encountered, it just stuck there and report the time-out for subsequent files.

However, the prior version works like a charm. It doesn't stop/pause at all at any point.

I hope this will be useful. Let me know if you need more details.


Shahzad Hassan
Posted by schexi on 8/30/2012 at 10:25 AM
Hi Matt

Yes I am using the Visual Studio 2012 released version, but I still get the time out issue. The second get operation does not succeed after a time-out. I get exactly the same error as explained by mvarblow "TF400307: The download operation timed out after waiting 600 seconds for a response from the server." The only difference is that I am getting it after approximately 590 - 600 seconds.

That's why I used the prior version of Team Explorer & "tf" command.


Shahzad Hassan
Posted by Matthew [MSFT] on 8/30/2012 at 10:06 AM

Thanks for the feedback about the timeouts when performing a Get operation. In the 2012 release, we actually increased the amount of time before a timeout occurs, so you should be less likely to see this occur in the future. Also, when performing a Get operation, it should succeed in downloading the remaining files. If you're not seeing that a second get operation succeeds after a timeout, please let us know.

Program Manager | TFS Version Control
Posted by Macy [MSFT] on 6/12/2012 at 7:23 PM
Thanks for your feedback.

We are rerouting this issue to the appropriate group within the Visual Studio Product Team for triage and resolution. These specialized experts will follow-up with your issue.
Posted by Macy [MSFT] on 6/12/2012 at 7:50 AM
Thank you for your feedback, we are currently reviewing the issue you have submitted. If this issue is urgent, please contact support directly(