我在使用 OpsHub VS 在线迁移实用程序 (OVSMU-V1.2.0.000) 进行迁移时遇到了问题。该过程在相当大的变更集上失败 - 重命名 10901 文件。但是,之前的一个变更集在大约 4 秒内重命名了 21493 个文件。
这是 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)
我清除了本地 TFS 用户缓存并重新启动了 OpsHub 迁移实用程序。在重新运行迁移时,变更集再次运行了一个多小时,然后失败了。
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)
在 myserver.com:8080/tfs/ 上运行一个很长的进程结束后,它似乎没有与 myserver.visualstudio.com 保持会话。
SO中记录了许多类似的问题,但我没有找到解决此问题的方法。
关于如何进行此迁移的任何想法?