Obliterate failing
Moderator: SourceGear
Obliterate failing
I just finished importing my VSS database to Vault (~2gb : 2 days) and one of the top-level folders failed so I deleted it and am importing it again. I figured I would permanently delete the failed top-level folder but every time I go to obliterate it, it tells me it can't connect to the database and to check my network connection.
I can connect to the server and database doing anything other than obliterate. When I choose even a single file to obliterate the SQL process jumps to ~50% CPU usage and the admin UI hangs for a while then reports that the server couldn't connect to the database.
I'm in the middle of importing again so I don't want to try the obliterate again, but I will later to see if the log file contains any info (it has nothing in it right now).
I can connect to the server and database doing anything other than obliterate. When I choose even a single file to obliterate the SQL process jumps to ~50% CPU usage and the admin UI hangs for a while then reports that the server couldn't connect to the database.
I'm in the middle of importing again so I don't want to try the obliterate again, but I will later to see if the log file contains any info (it has nothing in it right now).
So I guess to have a question in here, is the Obliterate feature really that slow or could something else going on? I'm running the admin tool from the server and everything else works perfectly except obliterate (the regular client works fine too).
The top-level folder I'm importing takes roughly 11 hours to import (that's it's current estimate) so it is pretty big so I understand obliterate taking a while, but come on, I need to obliterate the part of the import that failed (it had 1400 errors but obviously a good deal of it succeeded).
The top-level folder I'm importing takes roughly 11 hours to import (that's it's current estimate) so it is pretty big so I understand obliterate taking a while, but come on, I need to obliterate the part of the import that failed (it had 1400 errors but obviously a good deal of it succeeded).
Yes, obliterate is really that slow. Because there is so much history that was imported, it must go be very careful not to delete too much data. Can you check your Vault server log file to see if there is a problem there that is causing the obliterate to fail.
Here is the exact error coming from the admin UI:
"The Vault server could not be contacted to perform the operation. Your network connection to the server may have been interrupted. Please verify your network settings using the Options dialog under the Tools menu in the Vault GUI Client."
Which I know to be crap, because before it I obliterated a folder with no history and after it I did the same thing.
There's nothing in the log but login attempts.
"The Vault server could not be contacted to perform the operation. Your network connection to the server may have been interrupted. Please verify your network settings using the Options dialog under the Tools menu in the Vault GUI Client."
Which I know to be crap, because before it I obliterated a folder with no history and after it I did the same thing.
There's nothing in the log but login attempts.
If you're using a 2003 server, there may be a connection timeout occuring, which means that IIS would kill the client connection after a couple of minutes. You can get to this setting by opening the IIS manager, right clicking on Web Sites\Default Web Site (or whichever web site is running the Vault service), and choosing Properties. The Web Site tab will have the setting that you should adjust.
Hm, I am using Win2k3, however did they change the meaning of connection timeout?
"Type a number in the box to set the length of time in seconds before the server disconnects an inactive user. This ensures that all connections are closed if the HTTP protocol fails to close a connection."
This should have nothing to do with a currently active request that's being handled.
"Type a number in the box to set the length of time in seconds before the server disconnects an inactive user. This ensures that all connections are closed if the HTTP protocol fails to close a connection."
This should have nothing to do with a currently active request that's being handled.
There's additional info on Win2003 timeouts here:
http://support.sourcegear.com/viewtopic.php?t=1014
http://support.sourcegear.com/viewtopic.php?t=1014
Okay, I've officially set every single timeout to an incredibly high value (usually 24 hours). I rebooted the machine to make sure it was "clean" and I obliterated a test folder first and that worked fine. When I attempted to obliterate this specific folder (which by itself on disk is at least 200MB, but in history it probably accounts for 1/3 of the entire SQL database size of 6GB) it did exactly like it did before.
Unfortunately I didn't time it (and I can't at the moment because I can see SQL Server still working on the request) but it was roughly 2 minutes (give or take half a minute) and the error message was "the Vault server could not be contacted". SQL Server stayed at about 25% utilization for about 6 or 8 minutes and I got tired of waiting and just restarted it.
Does the admin tool have a logging component available to it? Is it at all possible that there's a client-side webservice timeout?
Unfortunately I didn't time it (and I can't at the moment because I can see SQL Server still working on the request) but it was roughly 2 minutes (give or take half a minute) and the error message was "the Vault server could not be contacted". SQL Server stayed at about 25% utilization for about 6 or 8 minutes and I got tired of waiting and just restarted it.
Does the admin tool have a logging component available to it? Is it at all possible that there's a client-side webservice timeout?
---Edited by jeremy_sg to remove potentially dangerous advice---
Last edited by jeremy_sg on Tue Feb 14, 2006 2:24 pm, edited 1 time in total.
Okay, well, the query is running and it's been 24 minutes. I rechecked IIS and the only timeout I hadn't set was the "ASP script timeout" which I wouldn't think would affect ASP.NET, but I set it to 24 hours anyway.
So now that I've run this query, is it safe to assume it creates its own transaction within the stored proc (since they're encrypted and I can't use Enterprise Manager to find out on my own)? If this thing takes 5 hours to run, I would like to be able to stop it without screwing anything up (which is why I ran it with "reallyobliterate=0" first just to see how long it would take).
So now that I've run this query, is it safe to assume it creates its own transaction within the stored proc (since they're encrypted and I can't use Enterprise Manager to find out on my own)? If this thing takes 5 hours to run, I would like to be able to stop it without screwing anything up (which is why I ran it with "reallyobliterate=0" first just to see how long it would take).