Merge out to lunch

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

Moderator: SourceGear

Post Reply
slolife
Posts: 18
Joined: Wed Sep 10, 2008 11:48 am

Merge out to lunch

Post by slolife » Tue May 25, 2010 12:33 pm

I am trying to merge code from folder to another. I go through the Merge wizard, select the origin folder, and the target folder. The wizard reports that there are no changes in the target folder, so I can proceed. I click next and it says "Retrieving history of the Origin Folder. Please wait.". The cursor turns to a wait icon for a while, but it eventually changes back to an arrow. But no changes are listed and the only buttons that are clickable are "Cancel" and "Help". "Back" and "Next" buttons remain disabled. I've left this for over 20 minutes and nothing happens.

Note: Origin folder is a shared folder, target is NOT a shared folder.

Specs:
Client/Server: Vault 4.1.3
Client: Windows 7

Beth
Posts: 8550
Joined: Wed Jun 21, 2006 8:24 pm
Location: SourceGear
Contact:

Re: Merge out to lunch

Post by Beth » Tue May 25, 2010 2:55 pm

Could you look in your Vault Server Log to see if any errors are showing up around the time of your attempted merge branches?

Vault 4.1.3 was not supported on Windows 7. Do you get the same results if you try the merge from a different computer with a different OS?
Beth Kieler
SourceGear Technical Support

slolife
Posts: 18
Joined: Wed Sep 10, 2008 11:48 am

Re: Merge out to lunch

Post by slolife » Wed May 26, 2010 12:45 pm

Here's the section of the log that shows the problem I believe:

Code: Select all

----5/25/2010 11:35:56 AM    MyUser--MyComputer.MyCompany.net(10.10.1.1)--SSL Enabled	System.Data.SqlClient.SqlException: Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.
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.BeginLabelQuery(VaultSqlConn conn, String strSessionID, Int32 nRepID, Int32 nUserID, Int16 nLabelTreeType, String strLCItemPath, Int64 nObjID, UInt16 nObjType, Boolean bGetRecursive, Boolean bGetInherited, UInt16 nObjTypeFlags, Int64 nRowLimit, Int64& nRowsRetrieved, Int64& nRowsRetrievedRecursive, String& strQryToken)    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.BeginLabelQuery(VaultSqlConn conn, String strSessionID, Int32 nRepID, Int32 nUserID, Int16 nLabelTreeType, String strLCItemPath, Int64 nObjID, UInt16 nObjType, Boolean bGetRecursive, Boolean bGetInherited, UInt16 nObjTypeFlags, Int64 nRowLimit, Int64& nRowsRetrieved, Int64& nRowsRetrievedRecursive, String& strQryToken)
----5/25/2010 11:35:56 AM    MyUser--MyComputer.MyCompany.net(10.10.1.1)--SSL Enabled	BeginLabelQuery returned: FailDBInsert

Beth
Posts: 8550
Joined: Wed Jun 21, 2006 8:24 pm
Location: SourceGear
Contact:

Re: Merge out to lunch

Post by Beth » Wed May 26, 2010 2:55 pm

Find your vault.config file on your Vault server. It's in the vaultservice directory. By default, that directory is under C:\inetpub\wwwroot, but you may have it elsewhere depending on the location chosen during install. Open the vault.config and find the SQL timeout. By default, that setting is set to 360. Add another 0 to the end of the number and save it.

To get the change picked up, you will need to either recycle the Vault App Pool or perform an iisreset at the command line. The Vault App Pool is found in your IIS Manager, and to recycle, just right-click and select recycle. To iisreset, just go to Start - Run and type iisreset. You can perform whichever you are most comfortable with. Stopping and Starting IIS manually will not accomplish the same thing. Whichever route you choose, your users will be disconnected from Vault during it, so you may need to perform it at a convenient time or forewarn your users to not use Vault for a few minutes while you are resetting.
Beth Kieler
SourceGear Technical Support

slolife
Posts: 18
Joined: Wed Sep 10, 2008 11:48 am

Re: Merge out to lunch

Post by slolife » Tue Jun 01, 2010 11:34 am

That seems to have worked! Thanks.

I would guess that it takes so long because of all of the automated CI labels I have. Is there a way to filter those out to make it faster?

Beth
Posts: 8550
Joined: Wed Jun 21, 2006 8:24 pm
Location: SourceGear
Contact:

Re: Merge out to lunch

Post by Beth » Thu Jun 03, 2010 1:15 pm

Labels don't get merged in the merge branches, so that shouldn't be a factor here. The kinds of things that would help a merge branches go faster would be the same to speed up Vault in general. Check out these KB articles for performance help.

Vault SQL maintenance: http://support.sourcegear.com/viewtopic.php?t=2924
Vault performance: http://support.sourcegear.com/viewtopic.php?t=4206
Beth Kieler
SourceGear Technical Support

Post Reply