Home Dashboard Directory Help
Search

Get latest version fails with timeout by mvarblow


Status: 

Closed
 as Fixed Help for as Fixed


16
1
Sign in
to vote
Type: Bug
ID: 748576
Opened: 6/12/2012 6:47:07 AM
Access Restriction: Public
2
Workaround(s)
view
9
User(s) can reproduce this bug

Description

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.)
Details
Sign in to post a comment.
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
Hi

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.

Regards

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.

Regards

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.

Regards

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.

Regards

Shahzad Hassan
Posted by Microsoft on 8/30/2012 at 10:06 AM
Hello,

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.

Thanks,
Matt
Program Manager | TFS Version Control
Posted by Microsoft 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 Microsoft 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(http://support.microsoft.com)
Sign in to post a workaround.
Posted by AU Mikey on 2/15/2013 at 2:15 PM
Install Visual Studio 2012 Update 2 CTP 2
Posted by schexi on 8/30/2012 at 10:07 AM
Hi

I am experiencing the same issue. This normally happens when your branch size is large. I even tried using the "tf get" command at the command prompt without any success. I managed to resolve the issue by using the previous version of Team Explorer & also the previous version of "tf" command.

You would not need to install Visual Studio 2010. If you just install the Team Explorer (2010) it will install the Visual Studio Shell and will also install the command line tools. Then you can open the Visual Studio and connect to the TFS 2010 via Team Explorer in a usual way and get the latest version. Once you have got the latest version you can continue working in the Visual Studio 2012.

If you like to use the old version of "tf" command you can do that too. This command resides at %ProgramFiles(x86)%\Microsoft Visual Studio 10.0\Common7\IDE. Use %ProgramFiles% if you are using a 64 bit version of Team Explorer. In order to get the latest version of the branch called "Advantage", just type the following command at the command prompt, assuming that the workspace is set to $/Tf and local folder is C:\Tf

"C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\TF.exe" get "C:\Tf\Advantage" /force /recursive

I hope that this issue will be resolved soon so that it will work properly within Visual Studio 2012.

I hope this helps.

Regards

Shahzad Hassan