a·gen·tic a·gil·i·ty

TFS Preview - Issue: TF400898 The underlying connection was closed

Explains the TF400898 error in TFS Preview, its causes, troubleshooting steps, and how a bug in the version control subsystem led to file loss and its resolution.

Published on
3 minute read
Image
https://nkdagility.com/resources/0O-R50XIwUP
Subscribe

When you try to do a “Get” from TFS Preview you receive a “underlying connection was closed” and often a TF400898.

TFS Preview - Issue: TF400898 The underlying connection was closed

Figure: The underlying connection was closed

This may happen on one or more files with different files experiencing this problem for different users.

Applies To

Findings

There are a bunch of checks that you want to do in order to make sure that this is indeed a TFS problem and not a local one.

In all circumstances TFS thinks that the file is checked in but that I don’t yet have it locally.

TFS Preview - Issue: TF400898 The underlying connection was closed

Figure: Tfs Preview Lost a file

I was far more concerned with the fact that TFS can lose a file than in the file that was lost but this is a big complex system and glitches will happen. Its how they are handled that is important.

TFS Preview - Issue: TF400898 The underlying connection was closed

Figure: I can view history on the missing file

If you find something like this then you need to contact the product team through http://tfspreview.com .

Conclusion

I escalated this to the Product Team and after a few questions and screenshots they investigated and identified a bug in VC subsystem which under certain circumstances can result in deleting files.  Here are the technical details:

A call to the Upload server call in Dev11 consists of three database calls. Version control is the orchestrator of the operation and it controls these three steps. Steps 1 and 3 are VC steps. Step 2 is owned by the file service.

  1. Pre-upload (prc_PreUploadFile) – checks to make sure the server item ($/…) for which the user is calling is eligible for upload (existence check, etc.)
  2. Upload – this phase is delegated to the file service. At the end of this call, the row in tbl_File is created and its OwnerId is set to 1.
  3. Post-upload (prc_PostUploadFile). The row for this item in tbl_PendingChange is modified to get the FileId for the row in tbl_File.

There is no overarching transaction for these three steps. If prc_DeleteUnusedContent runs between steps 2 and 3 above then it will garbage collect the file ID it just created because it appears the file ID is unrooted in VC.

I applied a temporary mitigation to your account through which you should be able to access the file.  Can you please re-try accessing the file and let me know if you still are able to repro the issue now?

We already ported a fix into RTM & will be working on deploying a hotfix to the service on Friday or Monday.
-Madhu Kavikondala

This had now been fixed not just for me, but across both the hosted service and for the TFS 2012 RTM TFS Preview - Issue: TF400898 The underlying connection was closed

Are you having problems with TFS Preview? Don’t sit and fizz… Check the  TFS Preview status  or raise a bug .

Troubleshooting
Subscribe

Related blog

No related videos found.

Connect with Martin Hinshelwood

If you've made it this far, it's worth connecting with our principal consultant and coach, Martin Hinshelwood, for a 30-minute 'ask me anything' call.

Our Happy Clients​

We partner with businesses across diverse industries, including finance, insurance, healthcare, pharmaceuticals, technology, engineering, transportation, hospitality, entertainment, legal, government, and military sectors.​

Akaditi Logo

Akaditi

Milliman Logo

Milliman

Boeing Logo

Boeing

Deliotte Logo

Deliotte

Slicedbread Logo

Slicedbread

Flowmaster (a Mentor Graphics Company) Logo

Flowmaster (a Mentor Graphics Company)

ProgramUtvikling Logo

ProgramUtvikling

DFDS Logo

DFDS

Kongsberg Maritime Logo

Kongsberg Maritime

Freadom Logo

Freadom

Brandes Investment Partners L.P. Logo

Brandes Investment Partners L.P.

Healthgrades Logo

Healthgrades

SuperControl Logo

SuperControl

Epic Games Logo

Epic Games

MacDonald Humfrey (Automation) Ltd. Logo

MacDonald Humfrey (Automation) Ltd.

Xceptor - Process and Data Automation Logo

Xceptor - Process and Data Automation

Capita Secure Information Solutions Ltd Logo

Capita Secure Information Solutions Ltd

Alignment Healthcare Logo

Alignment Healthcare

Department of Work and Pensions (UK) Logo

Department of Work and Pensions (UK)

Washington Department of Transport Logo

Washington Department of Transport

Ghana Police Service Logo

Ghana Police Service

Royal Air Force Logo

Royal Air Force

Nottingham County Council Logo

Nottingham County Council

Washington Department of Enterprise Services Logo

Washington Department of Enterprise Services

Boxit Document Solutions Logo

Boxit Document Solutions

Alignment Healthcare Logo

Alignment Healthcare

Hubtel Ghana Logo

Hubtel Ghana

Milliman Logo

Milliman

Higher Education Statistics Agency Logo

Higher Education Statistics Agency

Capita Secure Information Solutions Ltd Logo

Capita Secure Information Solutions Ltd