0
votes

I've run into an issue using the OpsHub VS Online Migration Utility (OVSMU-V1.2.0.000) with a migration. The process is failing on a rather large changeset - renaming 10901 files. However, one previous changeset Renamed 21493 files in about 4 seconds.

Here is the original error from the OpsHubTFSService.log:

20:33:25,737 [32] DEBUG Imcoming Pend Rename - 10901 files.
20:34:52,848 [27] DEBUG Connecting to the team foundation server instance http://myserver.com:8080/tfs/
20:34:52,865 [27] DEBUG Login successful for token cc15f8a2-a930-42fa-b7ab-ea7037f11f23
20:34:52,918 [27] DEBUG Logout successful for token cc15f8a2-a930-42fa-b7ab-ea7037f11f23
20:44:52,968 [27] DEBUG Connecting to the team foundation server instance http://myserver.com:8080/tfs/
20:44:52,984 [27] DEBUG Login successful for token 58bae319-da16-43eb-8346-fe57a4d5b4db
20:44:53,040 [27] DEBUG Logout successful for token 58bae319-da16-43eb-8346-fe57a4d5b4db
20:54:52,940 [27] DEBUG Connecting to the team foundation server instance http://myserver.com:8080/tfs/
20:54:52,961 [27] DEBUG Login successful for token 9bd99b77-655e-4dc6-a027-cb3a842f1b59
20:54:53,320 [27] DEBUG Logout successful for token 9bd99b77-655e-4dc6-a027-cb3a842f1b59
21:01:28,096 [32] DEBUG Exception in thread of CheckinALL process.
21:01:28,576 [35] ERROR Error occured in thread of CheckinAll:TF400324: Team Foundation services are not available from server myserver.visualstudio.com\DefaultCollection.
Technical information (for administrator):
  The underlying connection was closed: A connection that was expected to be kept alive was closed by the server.
at Microsoft.TeamFoundation.Client.Channels.TfsHttpWebRequest.ReadResponse(HttpWebResponse webResponse, WebException webException)
   at Microsoft.TeamFoundation.Client.Channels.TfsHttpWebRequest.IsAuthenticationChallenge(TfsMessage requestMessage, HttpWebResponse webResponse, WebException webException, TfsMessage& responseMessage)
   at Microsoft.TeamFoundation.Client.Channels.TfsHttpWebRequest.SendRequest()
   at Microsoft.TeamFoundation.Client.Channels.TfsHttpRequestChannel.Request(TfsMessage message, TimeSpan timeout)
   at Microsoft.TeamFoundation.Client.Channels.TfsHttpClientBase.Invoke(TfsClientOperation operation, Object[] parameters, TimeSpan timeout, Object[]& outputs)
   at Microsoft.TeamFoundation.VersionControl.Client.Repository5.PendChanges(String workspaceName, String ownerName, ChangeRequest[] changes, Int32 pendChangesOptions, Int32 supportedFeatures, String[] itemPropertyFilters, String[] itemAttributeFilters, Int32 maxClientPathLength, Failure[]& failures, Int32& changePendedFlags)
   at Microsoft.TeamFoundation.VersionControl.Client.WebServiceLayerLocalWorkspaces.PendChanges(String workspaceName, String ownerName, ChangeRequest[] changes, Int32 pendChangesOptions, Int32 supportedFeatures, Failure[]& failures, String[] itemAttributeFilters, String[] itemPropertyFilters, Boolean updateDisk, Boolean& onlineOperation, Int32& flags)
   at Microsoft.TeamFoundation.VersionControl.Client.Client.PendChanges(Workspace workspace, ChangeRequest[] changeRequests, Boolean updateDisk, PendChangesOptions options, String[] itemAttributeFilters, String[] itemPropertyFilters, Int32 operationId)
   at Microsoft.TeamFoundation.VersionControl.Client.Workspace.PendChanges(ChangeRequest[] changeRequests, Boolean updateDisk, PendChangesOptions options, String[] itemAttributeFilters, String[] itemPropertyFilters)
   at Microsoft.TeamFoundation.VersionControl.Client.Workspace.PendRename(String oldPath, String newPath, LockLevel lockLevel, Boolean updateDisk, Boolean detectFolderAtTarget, Boolean silent, String[] itemAttributeFilters)
   at Microsoft.TeamFoundation.VersionControl.Client.Workspace.PendRename(String oldPath, String newPath, LockLevel lockLevel, Boolean updateDisk, Boolean detectFolderAtTarget, Boolean silent)
   at Microsoft.TeamFoundation.VersionControl.Client.Workspace.PendRename(String oldPath, String newPath, LockLevel lockLevel, Boolean updateDisk, Boolean detectFolderAtTarget)
   at Service.Adapters.TFSCheckinWorkspaceContext.pendRenames() in e:\5.7Checkout\VSMUOpsHubV2\TFSWCFServiceSource\Service\Service\TFSVersionControl\AdapterComponents\TFSCheckinWorkspaceContext.cs:line 2020
   at Service.Adapters.TFSCheckinWorkspaceContext.pendChanges() in e:\5.7Checkout\VSMUOpsHubV2\TFSWCFServiceSource\Service\Service\TFSVersionControl\AdapterComponents\TFSCheckinWorkspaceContext.cs:line 2484
   at Service.Adapters.TFSVCAdapter.checkIn(List`1 checkinItems, String checkinComment, String checkinUser, List`1 workitemId, List`1 otherCheckInProperties) in e:\5.7Checkout\VSMUOpsHubV2\TFSWCFServiceSource\Service\Service\TFSVersionControl\AdapterComponents\TFSVCAdapter.cs:line 121
   at com.opshub.tfs.test.TFSWebService.<>c__DisplayClass2.<CheckInAll>b__0() in e:\5.7Checkout\VSMUOpsHubV2\TFSWCFServiceSource\Service\Service\TFSWebService.cs:line 760
21:01:28,579 [35] ERROR Error : An existing connection was forcibly closed by the remote host
   at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)

I cleared the local TFS user cache and restarted the OpsHub Migration Utility. On re-running the migration, the changeset ran again for over an hour then failed.

14:49:19,683 [5] DEBUG Imcoming Pend Rename - 10901 files.
14:57:30,677 [4] DEBUG Connecting to the team foundation server instance http://myserver.com:8080/tfs/
14:57:30,712 [4] DEBUG Login successful for token dd0735cf-4ac7-49f1-b00b-c9c4c3cc3b5c
14:57:31,810 [4] DEBUG Logout successful for token dd0735cf-4ac7-49f1-b00b-c9c4c3cc3b5c
    ... (repeat Connect, Login, Logout every 10 mins) ...
16:17:37,230 [5] DEBUG Renamed 1000/10901 items processed.
16:17:48,605 [6] DEBUG Connecting to the team foundation server instance http://myserver.com:8080/tfs/
16:17:48,621 [6] DEBUG Login successful for token 7ed122d5-cf0f-4775-a33e-385a55fd8313
16:17:48,668 [6] DEBUG Logout successful for token 7ed122d5-cf0f-4775-a33e-385a55fd8313
16:27:25,769 [5] DEBUG Exception in thread of CheckinALL process.
16:27:26,659 [6] ERROR Error occured in thread of CheckinAll:TF400324: Team Foundation services are not available from server myserver.visualstudio.com\DefaultCollection.
Technical information (for administrator):
  The underlying connection was closed: A connection that was expected to be kept alive was closed by the server.
  (same as above)

It seems like it isn't keeping a session to myserver.visualstudio.com after the end of running a very long process on myserver.com:8080/tfs/.

There are many similar issues logged here in SO, but I've found none with a resolution for this issue.

Any ideas on how to proceed with this migration?

1
Hi, cascading renames (where only a folder was renamed, the child items of that folder have a rename changetype due to that cascading forward), it takes only a fraction of seconds to process. In some cases, where there are actually lots of renames, processing takes that much time. The error indicates connectivity issue, can you share the trace part of the error for us to see who was the initiator? Seems like it was thrown from the Object Model Libraries.OpsHub Inc.
The full stack trace of the error is included in the first code snippet above, the line that ends with TFSWebService.cs:line 760.Scott Koland
Hi, is the machine on which the utility installed a Win Server 2008?OpsHub Inc.
No, it is Windows 7.Scott Koland

1 Answers

0
votes

Are you facing this error continuously? Could you please restart the utility and start the migration again after retrying the failures under failure management. Let us know the outcome. Sometime this type of error might occurred due to minor network outage or packet drop.

Also one more thing, try increasing time-out limit from TFS server side. Information is provided inside following blog. Sometimes this type of error might occurred in case TFS is hosted on the vm environment/shared servers. http://blogs.msdn.com/b/ablock/archive/2008/09/16/increasing-the-time-out-time.aspx

Let us know if you have any questions/queries around this.

Thanks & Regards,
OpsHub Support