Multiple copies of a file appear on check in
Moderator: SourceGear
Multiple copies of a file appear on check in
I am seeing some strange behaviour when checking files in to Vault. I have branched a folder and edited some files. When I try to check these files in, some of them appear multiple times - see the attached screenshot. [/img]
If I don't clear all but one of the multiple copies, I get the message "A database error has occured (FailDBFault)".
I've tried looking through the forums, but couldn't see anything directly relevant. Am I doing something daft? Or am I just missing something?
Regards
Alan
Vault client is version 4.0.5.15922
Vault server is version 4.0.5.15922
If I don't clear all but one of the multiple copies, I get the message "A database error has occured (FailDBFault)".
I've tried looking through the forums, but couldn't see anything directly relevant. Am I doing something daft? Or am I just missing something?
Regards
Alan
Vault client is version 4.0.5.15922
Vault server is version 4.0.5.15922
- Attachments
-
- vault checkin problem.png (24.68 KiB) Viewed 3997 times
These entries were added to the log when I tried to check in the .sln and .vsccc file in the root of the solution via the standalone client.
I modified the domain/login names
I tested each file individually afterward
The .vsccc checkin attempt causes the primary key exception and FailDBFault
The .sln checkin attempt just returns a FailDBFault
Also, when I look at history, the .sln file was recently checked in. (It's status is currently still marked as checked out)
----12/13/2007 10:59:40 AM jparkins--mycomputer.mydomain.com(192.168.25.91)--SSL Disabled System.Data.SqlClient.SqlException: Violation of PRIMARY KEY constraint 'PK__#releaselistitem__1EB8EDEB'. Cannot insert duplicate key in object 'dbo.#releaselistitems'.
The statement has been terminated.
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at VaultServiceSQL.VaultSqlSCC.ReleaseLocks(VaultSqlConn conn, Int32 nUserID, String strHostname, Int32 nRepID, String strXml) at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at VaultServiceSQL.VaultSqlSCC.ReleaseLocks(VaultSqlConn conn, Int32 nUserID, String strHostname, Int32 nRepID, String strXml)
----12/13/2007 10:59:40 AM jparkins--mycomputer.mydomain.com(192.168.25.91)--SSL Disabled VaultLib.VaultRequestUndoCheckOut returned: FailDBFault
----12/13/2007 10:59:40 AM jparkins--mycomputer.mydomain.com(192.168.25.91)--SSL Disabled VaultLib.VaultRequestUndoCheckOut returned: FailDBFault
----12/13/2007 10:59:40 AM jparkins--mycomputer.mydomain.com(192.168.25.91)--SSL Disabled UndoCheckout returned: FailDBFault
I modified the domain/login names
I tested each file individually afterward
The .vsccc checkin attempt causes the primary key exception and FailDBFault
The .sln checkin attempt just returns a FailDBFault
Also, when I look at history, the .sln file was recently checked in. (It's status is currently still marked as checked out)
----12/13/2007 10:59:40 AM jparkins--mycomputer.mydomain.com(192.168.25.91)--SSL Disabled System.Data.SqlClient.SqlException: Violation of PRIMARY KEY constraint 'PK__#releaselistitem__1EB8EDEB'. Cannot insert duplicate key in object 'dbo.#releaselistitems'.
The statement has been terminated.
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at VaultServiceSQL.VaultSqlSCC.ReleaseLocks(VaultSqlConn conn, Int32 nUserID, String strHostname, Int32 nRepID, String strXml) at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at VaultServiceSQL.VaultSqlSCC.ReleaseLocks(VaultSqlConn conn, Int32 nUserID, String strHostname, Int32 nRepID, String strXml)
----12/13/2007 10:59:40 AM jparkins--mycomputer.mydomain.com(192.168.25.91)--SSL Disabled VaultLib.VaultRequestUndoCheckOut returned: FailDBFault
----12/13/2007 10:59:40 AM jparkins--mycomputer.mydomain.com(192.168.25.91)--SSL Disabled VaultLib.VaultRequestUndoCheckOut returned: FailDBFault
----12/13/2007 10:59:40 AM jparkins--mycomputer.mydomain.com(192.168.25.91)--SSL Disabled UndoCheckout returned: FailDBFault
This is a known issue which has been fixed in Vault 4.0.6. Please upgrade to this version. We'd also recommend that after you upgrade, close any open clients and delete the client side cache:
http://support.sourcegear.com/viewtopic.php?t=6
http://support.sourcegear.com/viewtopic.php?t=6
Linda Bauer
SourceGear
Technical Support Manager
SourceGear
Technical Support Manager
I upgraded the client & server to 4.06. Deleted the client side cache. The .sln file still has duplicates on check in. If I delete the file in vault, it appears to be not there anymore, but then if I create a new .sln with same name in that folder, check it in, then check out and try and check in again, I see the two entries again. So it's like there is a phantom record in the database for that particular .sln file. My fix for now is to give the .sln file a different name.
You might try restarting IIS to also flush the server cache.
If you continue to see this double checkout with Vault 4.0.6 client and server, then, send a copy of the Vault Server log (sgvault.log in %windir%\temp\sgvault) to support at sourcegear.com ATTN Linda.
If you continue to see this double checkout with Vault 4.0.6 client and server, then, send a copy of the Vault Server log (sgvault.log in %windir%\temp\sgvault) to support at sourcegear.com ATTN Linda.
Linda Bauer
SourceGear
Technical Support Manager
SourceGear
Technical Support Manager