In version 3.0.7, I have a file that is up to version 96, but the latest version in the client (and the latest it will retrieve) is 94. It's not pinned, but it is shared into several places. When I check it out, then go to history and Get version 96, then do a forced check in (not undo checkout), bad things happen. The client says:
An exception was encountered during the transaction. Exception: Server was unable to process request. --> Error in the application. at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
at VaultClientNetLib.ClientService.VaultService.BeginTx(Int32 nRepID, String strComment, VaultRequestItem[]& requests, String& strTxID)
at VaultClientNetLib.VaultConnection.BeginTx(Int32 nRepID, VaultRequestItem[]& requests, String& strTxID, String comment)
at VaultClientOperationsLib.ClientInstance.Commit(ChangeSetItemColl givenItems, Boolean keepCheckedOut, Boolean removeLocalCopy, Boolean bIsImport, DateTime dateImport, Int32 nUserIDImport, Int64& nRevID)
And the server says:
Critical Error! Error in the application.
at VaultServiceBase.VaultRepository.GetReferenceCopiesByPath(HybridDictionary hdNewRefParents, String strAbsolutePath, Boolean bRefCopyLastObjectWithAllFolders, VaultFSObjects& fsoList, Int32& nPinCount)
at VaultServiceAPILib.VaultTransactionContainer.GetReferenceCopiesByPath(String strAbsolutePath, VaultFSObjects& fsoList, Int32& nPinCount)
at VaultServiceAPILib.VaultTransaction.PreCheckCheckIn(Int32 nCurrStatCode, VaultRequestCheckIn vrci, String strFileToken, VaultResponseCheckIn vRespCheckIn, VaultTransactionContainer txContainer)
at VaultServiceAPILib.VaultServiceAPI.BeginTx(HttpApplicationState theApp, VaultLoginInfo vliLoggedInUser, Int32 nTxUserID, Int32 nRepID, DateTime dtBeginTx, String strComment, VaultRequestItem[]& requests, String& strTxID, VaultIntTx& vit)
at VaultService.VaultService.DoBeginTx(HttpApplicationState has, HttpSessionState hss, VaultLoginInfo vli, String strCallerLogEvt, Int32 nTxUserID, Int32 nRepID, DateTime dtBeginTx, String strComment, VaultRequestItem[]& requests, String& strTxID)
----6/8/2005 9:29:08 PM awdavis--tmelton.hytecinc.local(10.25.40.223)--SSL Disabled Getting repository Structure.
----6/8/2005 9:29:08 PM awdavis--tmelton.hytecinc.local(10.25.40.223)--SSL Disabled VaultServiceAPI::GetRepositoryTreeDelta() UserID:2 RepID:10 Base:86696 Target:86696 Calling VaultRepUtil.DiffRepTrees() - in-memory tree diff.
Iky, huh? So what do I do now? I can't get this thing to go to the real latest version. Clearing out the client cache doesn't seem to help.
Remote Version Isn't Latest Version
Moderator: SourceGear
Wrong Ver
I did that. Some more info that you should know: This happened yesterday under version 3.0.6, and I tried the normal things (restarting clients, clearing caches, restarting server via iisreset). Then I upgraded to 3.0.7 (after doing a full backup in triplicate) because there was a note in the release notes about server consistency errors being fixed... It's still failing in the same way.
So it's been restarted and stuff done to it. I wondered if this was the consistency bug in 3.0.6 and now the damage is done.
So it's been restarted and stuff done to it. I wondered if this was the consistency bug in 3.0.6 and now the damage is done.
Let's take a look at things. Can you run the following:
1) SELECT repid, name, currenttxid FROM sgvault.dbo.tblrepositories
2) SELECT x.repid, x.txid FROM sgvault.dbo.tblfulltreerevisionfolders x WHERE EXISTS ( SELECT y.repid FROM sgvault.dbo.tblrepositories y WHERE y.repid = x.repid AND y.currenttxid = x.txid )
Send this by email if you would like to keep the information private.
1) SELECT repid, name, currenttxid FROM sgvault.dbo.tblrepositories
2) SELECT x.repid, x.txid FROM sgvault.dbo.tblfulltreerevisionfolders x WHERE EXISTS ( SELECT y.repid FROM sgvault.dbo.tblrepositories y WHERE y.repid = x.repid AND y.currenttxid = x.txid )
Send this by email if you would like to keep the information private.
Jeff Clausius
SourceGear
SourceGear
Jeff and I had an email discussion with much SQL queries, which ended up with him sending a CheckShares program to me. I took the server offline this evening, and it appears to have fixed the problem.
The file in question was a tangled mess of a shared file in a shared folder which had been snapshot several times... It's working nicely now (with all the shares and shares and snapshots intact.)
The file in question was a tangled mess of a shared file in a shared folder which had been snapshot several times... It's working nicely now (with all the shares and shares and snapshots intact.)