Error branching

This forum is now locked, since Gold Support is no longer offered.

Moderator: SourceGear


Posts: 85
Joined: Thu Oct 26, 2006 10:58 am
PostPosted: Fri Jan 25, 2008 11:15 am
We are getting the following error when we try to create a branch:

[1/25/2008 8:26:20 AM] Preparing data to begin transaction
[1/25/2008 8:26:20 AM] Beginning transaction
[1/25/2008 8:26:22 AM] Branch $/MyFolder
[1/25/2008 8:26:22 AM] Ending the transaction
[1/25/2008 8:32:25 AM] An error occurred while trying to end a transaction.
[1/25/2008 8:32:25 AM] Transaction failed
[1/25/2008 8:32:25 AM] Item $/MyFolder caused the transaction to fail: A database error has occured (FailDBReader)
[1/25/2008 8:32:25 AM] Transaction failed

Note that it took 6 minutes to fail to end the transaction. And during that time, the CPU usage on the server is spiking and other users are getting errors and experiencing sluggishness.

Please help!

Posts: 85
Joined: Thu Oct 26, 2006 10:58 am
PostPosted: Fri Jan 25, 2008 12:50 pm
I see where other users have experienced this same error, but I don't see a fix anywhere.

Here is the entry from the sgvault.log file, corresponding with the above error:


1/25/2008 8:32:14 AM
SSL Disabled System.Data.SqlClient.SqlException: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
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.SqlDataReader.ConsumeMetaData()
at System.Data.SqlClient.SqlDataReader.get_MetaData()
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.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior)
at VaultServiceSQL.VaultSqlSCC.BranchFolder(VaultSqlConn conn, String strSessionID, Int32 nRepID, Hashtable htSharedItems, HybridDictionary htTxModifiedItems, Int64 nTxID, Int32 nTxItem, Byte nTxType, VaultDateTime vdTxBegin, String strItemPath, String strNewBranchName, String strXml, BranchingModTime bmt, VaultFolder vfRoot, String strTxComment, Int32& nCopiedSecurityFolderRights, VaultFolder& vfOut) 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.SqlDataReader.ConsumeMetaData()
at System.Data.SqlClient.SqlDataReader.get_MetaData()
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.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior)
at VaultServiceSQL.VaultSqlSCC.BranchFolder(VaultSqlConn conn, String strSessionID, Int32 nRepID, Hashtable htSharedItems, HybridDictionary htTxModifiedItems, Int64 nTxID, Int32 nTxItem, Byte nTxType, VaultDateTime vdTxBegin, String strItemPath, String strNewBranchName, String strXml, BranchingModTime bmt, VaultFolder vfRoot, String strTxComment, Int32& nCopiedSecurityFolderRights, VaultFolder& vfOut)

Posts: 8451
Joined: Wed Jun 21, 2006 8:24 pm
Location: SourceGear
PostPosted: Fri Jan 25, 2008 3:04 pm
Go to your vault.config file on your Vault server (usually in the virtual directory service) and find the entry for SQL timeout and add a '0' onto the end of the number to increase the setting from 360 to 3600.

After that, perform an iisreset (start - run - iisrest) and try the operation again.

Posts: 85
Joined: Thu Oct 26, 2006 10:58 am
PostPosted: Fri Jan 25, 2008 3:26 pm
I followed the instructions as provided. It made no difference. The same error has occurred.

Posts: 85
Joined: Thu Oct 26, 2006 10:58 am
PostPosted: Fri Jan 25, 2008 3:32 pm
I replied too soon. It appears that the transaction did complete eventually (in about 7 minutes). But while it was running, Vault froze up for other users.

Posts: 8451
Joined: Wed Jun 21, 2006 8:24 pm
Location: SourceGear
PostPosted: Fri Jan 25, 2008 4:01 pm
I'm assuming you are branching over 5000 files? We have a bug we're working on where really large branches block other users. We're working on a fix, so in the meantime, large branches are best done when users don't need to be in for a little bit.

Posts: 85
Joined: Thu Oct 26, 2006 10:58 am
PostPosted: Fri Jan 25, 2008 4:04 pm
Yes, it was a very large repository. Thanks for the info, we'll try to work around this in the future by scheduling large branch operations outside normal hours.

Posts: 85
Joined: Thu Oct 26, 2006 10:58 am
PostPosted: Fri May 30, 2008 12:35 pm
We are still running into the database error (FailDBReader) when branching large repositories. You said this was a known issue that you were working on, but I don't see any mention of it among the release notes for 4.1.1 or 4.1.2.

We are planning to upgrade to 4.1.2 next Monday. Will this issue be resolved? If not, what are we supposed to do about it? We have repositories that we need to be able to branch and merge, and it's bad enough having to wait until after hours to avoid slowing down everyone else's Vault experience to a crawl, but if the branch operation keeps failing, we're kind of stuck.

Thanks.

Posts: 8451
Joined: Wed Jun 21, 2006 8:24 pm
Location: SourceGear
PostPosted: Mon Jun 02, 2008 3:56 pm
The bug I mentioned relates to other users not being able to work during a branch. If your branch fails, that's related to something else. If it's the exact same error of a timeout, then can you email me your vault.config? You can send that to support at sourcegear.com (attn: Beth) with a link to this forum thread.

Return to Gold Support (Vault) -- Read-only

Who is online

Users browsing this forum: No registered users and 3 guests

cron