Undo checkout still broken in 1.1?

If you are having a problem using Fortress, post a message here.

Moderator: SourceGear

Post Reply
mbainbridge
Posts: 28
Joined: Wed Mar 01, 2006 5:11 am

Undo checkout still broken in 1.1?

Post by mbainbridge » Thu Mar 06, 2008 9:06 am

In http://support.sourcegear.com/viewtopic.php?t=8782 I reported that in Fortress 1.0.6 undoing exclusive checkouts which were checked out by the same user on a different machine caused the client to lose sync with the server. The server had done the undo, but the client wasn't told. The result was that if someone else (who correctly saw the file as not checked out) performed a check-out, it appeared that more than one user had the file exclusively checked out.

I've installed 1.1 on a test server (actually two different test servers now...) and instead of the above behaviour, I get an error:
A database error has occured (FailDBFault)
The server log for this operation is:

Code: Select all

----06/03/2008 08:50:12      --()--	Beginning SQL transaction 61879347 
----06/03/2008 08:50:12      --()--	SQL transaction 61879347 successfully committed. 
----06/03/2008 08:50:12      --()--	Beginning SQL transaction 3479815 
----06/03/2008 08:50:12      --()--	SQL transaction 3479815 successfully committed. 
----06/03/2008 08:50:35      librarian--ncltw-app0004.spdl-dev.net(127.0.0.1)--SSL Disabled	Beginning SQL transaction 6587426 
----06/03/2008 08:50:35      librarian--ncltw-app0004.spdl-dev.net(127.0.0.1)--SSL Disabled	SQL transaction 6587426 successfully committed. 
----06/03/2008 08:50:35      Librarian--ncltw-app0004.spdl-dev.net(127.0.0.1)--SSL Disabled	Login 
----06/03/2008 08:50:35      Librarian--ncltw-app0004.spdl-dev.net(127.0.0.1)--SSL Disabled	GetUserList returned: Success 
----06/03/2008 08:50:35      Librarian--ncltw-app0004.spdl-dev.net(127.0.0.1)--SSL Disabled	GetUserOptions returned: Success 
----06/03/2008 08:50:35      Librarian--ncltw-app0004.spdl-dev.net(127.0.0.1)--SSL Disabled	Success 
----06/03/2008 08:50:35      Librarian--ncltw-app0004.spdl-dev.net(127.0.0.1)--SSL Disabled	GetRepositories returned: Success 
----06/03/2008 08:50:39      Librarian--ncltw-app0004.spdl-dev.net(127.0.0.1)--SSL Disabled	Getting repository Structure-> Rep ID: 2 Base: 667261 Target: -1 
----06/03/2008 08:50:39      Librarian--ncltw-app0004.spdl-dev.net(127.0.0.1)--SSL Disabled	TreeManager: Filling empty cache with current tree. 
----06/03/2008 08:51:17      Librarian--ncltw-app0004.spdl-dev.net(127.0.0.1)--SSL Disabled	VaultServiceAPI::GetRepositoryTreeDelta() UserID:18 RepID:2 Base:667261 Target:667261  Calling VaultRepUtil.DiffRepTrees() - in-memory tree diff. 
----06/03/2008 08:51:17      Librarian--ncltw-app0004.spdl-dev.net(127.0.0.1)--SSL Disabled	GetRepositoryStructure returned: Success 
----06/03/2008 08:51:17      Librarian--ncltw-app0004.spdl-dev.net(127.0.0.1)--SSL Disabled	Getting list of checkout changes. 
----06/03/2008 08:51:18      Librarian--ncltw-app0004.spdl-dev.net(127.0.0.1)--SSL Disabled	Beginning SQL transaction 40853074 
----06/03/2008 08:51:18      Librarian--ncltw-app0004.spdl-dev.net(127.0.0.1)--SSL Disabled	GetCheckoutListChanges: Transaction Started 
----06/03/2008 08:51:18      Librarian--ncltw-app0004.spdl-dev.net(127.0.0.1)--SSL Disabled	SQL transaction 40853074 successfully committed. 
----06/03/2008 08:51:18      Librarian--ncltw-app0004.spdl-dev.net(127.0.0.1)--SSL Disabled	GetCheckoutListChanges: Transaction Committed 
----06/03/2008 08:51:18      Librarian--ncltw-app0004.spdl-dev.net(127.0.0.1)--SSL Disabled	GetCheckOutListChanges returned: Success 
----06/03/2008 08:51:18      Librarian--ncltw-app0004.spdl-dev.net(127.0.0.1)--SSL Disabled	GetUserEmailOptions returned Success 
----06/03/2008 08:51:18      Librarian--ncltw-app0004.spdl-dev.net(127.0.0.1)--SSL Disabled	TreeManager: cache matches repository revision and folder security hasn't changed.  Returning cached tree, revID 667261 
----06/03/2008 08:51:18      Librarian--ncltw-app0004.spdl-dev.net(127.0.0.1)--SSL Disabled	ListWatchers returned Success 
----06/03/2008 08:51:18      Librarian--ncltw-app0004.spdl-dev.net(127.0.0.1)--SSL Disabled	ListCloakedObjects returned: Success 
----06/03/2008 08:51:18      Librarian--ncltw-app0004.spdl-dev.net(127.0.0.1)--SSL Disabled	GetRepositoryOptions returned: Success 
----06/03/2008 08:51:18      Librarian--ncltw-app0004.spdl-dev.net(127.0.0.1)--SSL Disabled	GetRepositories returned: Success 
----06/03/2008 08:52:46      Librarian--ncltw-app0004.spdl-dev.net(127.0.0.1)--SSL Disabled	SetUserOptions returned: Success 
----06/03/2008 08:52:46      Librarian--ncltw-app0004.spdl-dev.net(127.0.0.1)--SSL Disabled	GetUserOptions returned: Success 
----06/03/2008 08:52:55      Librarian--ncltw-app0004.spdl-dev.net(127.0.0.1)--SSL Disabled	Beginning SQL transaction 37952469 
----06/03/2008 08:52:56      Librarian--ncltw-app0004.spdl-dev.net(127.0.0.1)--SSL Disabled	System.Data.SqlClient.SqlException: Cannot insert the value NULL into column 'hostname', table 'tempdb.dbo.#releaselistitems___________________________________________________________________________________________________000000000002'; column does not allow nulls. INSERT fails.
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, Boolean bUseUserID)    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, Boolean bUseUserID)
----06/03/2008 08:52:56      Librarian--ncltw-app0004.spdl-dev.net(127.0.0.1)--SSL Disabled	SQL transaction 37952469 successfully rolled back. 
----06/03/2008 08:52:56      Librarian--ncltw-app0004.spdl-dev.net(127.0.0.1)--SSL Disabled	VaultLib.VaultRequestUndoCheckOut returned: FailDBFault 
----06/03/2008 08:52:56      Librarian--ncltw-app0004.spdl-dev.net(127.0.0.1)--SSL Disabled	UndoCheckout returned: FailDBFault 
At first, I thought it was something to do with running the test server on VMWare, or maybe my test server was unhappy in previously having every version and public beta on it :)

However, I ran up a second, totally clean server. Restored the SQL backup, installed 1.06, saw the done-but-not-notified undo behaviour. Upgraded to 1.1 and got the FailDBFault message. Which is a shame, as the undo-checkout behaviour is one of our biggest niggles with Fortress.

I've searched these forums and while there are other posts about FailDBFault, none of the solutions seem to work in this case :(

--
Marcus

(All test servers are VMWare Server 1.03, Windows 2003 Std, SQL Server 2005 Std, both 32-bit).

lbauer
Posts: 9736
Joined: Tue Dec 16, 2003 1:25 pm
Location: SourceGear

Post by lbauer » Fri Mar 07, 2008 8:30 am

There is known bug that if you undo a checkout of a file that was checked out to you, but from a different machine.

Is this what you're seeing?
Linda Bauer
SourceGear
Technical Support Manager

mbainbridge
Posts: 28
Joined: Wed Mar 01, 2006 5:11 am

Post by mbainbridge » Wed Mar 12, 2008 9:59 am

Hi Linda,

Yes, it's the same bug but with a different outcome. In 1.0.6 the server would perform the checkout but not notify the client. On a cache reset the client would catch up. In 1.1.0 it comes up with a FailDBFault error but the checkout does not seem to be performed. The only way to undo a checkout now is to use the admin tool.

lbauer
Posts: 9736
Joined: Tue Dec 16, 2003 1:25 pm
Location: SourceGear

Post by lbauer » Thu Mar 13, 2008 2:27 pm

Yes, this is the behaviour I've seen and have logged a bug.
Linda Bauer
SourceGear
Technical Support Manager

dist0rti0n
Posts: 112
Joined: Mon May 01, 2006 10:50 pm
Location: Birmingham, AL

Post by dist0rti0n » Mon Mar 31, 2008 7:14 am

Linda,

Any idea when this bug might be fixed? I ran into it myself today.

Thanks!
<a href="http://www.vertagen.com">Vertagen Solutions</a>

mbainbridge
Posts: 28
Joined: Wed Mar 01, 2006 5:11 am

Post by mbainbridge » Mon Mar 31, 2008 7:52 am

Not in 1.1.1 :-(

lbauer
Posts: 9736
Joined: Tue Dec 16, 2003 1:25 pm
Location: SourceGear

Post by lbauer » Tue Apr 01, 2008 10:20 am

Yes, it's still on our ToDo list.
Linda Bauer
SourceGear
Technical Support Manager

jeremy_sg
Posts: 1821
Joined: Thu Dec 18, 2003 11:39 am
Location: Sourcegear
Contact:

Post by jeremy_sg » Fri May 30, 2008 3:14 pm

This bug has been corrected in 1.1.2.
Subscribe to the Fortress/Vault blog

Post Reply