Shadow Folder - Modification Time
Moderator: SourceGear
-
- Posts: 17
- Joined: Fri Jun 27, 2008 1:07 pm
Shadow Folder - Modification Time
I am trying to use the Shadow Folders service and have set the following options:
Speed Optimized: True
File Dates: Modification Time
However, when the shadow file is created, all files are getting created with a date modified of the check in date.
Using the vault client, I can look at the properties for a file, and it says:
Modified date: 2/15/2008 5:31 PM
Check in Date: 6/27/2008 2:59 PM
The shadow folder file has the following:
Created: 6/27/2008 3:00 PM
Modified: 6/27/2008 2:59 PM
And when I get latest version using the vault client, with the Modification Time turned on, I get the file dated correctly.
It's vital that the shadow folders preserve the modification times for files, not the check-in times.
Thank you.
Speed Optimized: True
File Dates: Modification Time
However, when the shadow file is created, all files are getting created with a date modified of the check in date.
Using the vault client, I can look at the properties for a file, and it says:
Modified date: 2/15/2008 5:31 PM
Check in Date: 6/27/2008 2:59 PM
The shadow folder file has the following:
Created: 6/27/2008 3:00 PM
Modified: 6/27/2008 2:59 PM
And when I get latest version using the vault client, with the Modification Time turned on, I get the file dated correctly.
It's vital that the shadow folders preserve the modification times for files, not the check-in times.
Thank you.
-
- Posts: 17
- Joined: Fri Jun 27, 2008 1:07 pm
It looks like the checkin and modification flags were switched in the Admin web page for shadow folders. If you choose Checkin, you should actually get modification time. The reason that it looks like the first one works is that the checkin time is far removed from the actual shadow folder get time (but it's not the modification time).
This fix will be in 4.1.3.
This fix will be in 4.1.3.
Subscribe to the Fortress/Vault blog
-
- Posts: 17
- Joined: Fri Jun 27, 2008 1:07 pm
Fixed - but more problems
Changing the setting to Checked-In instead of Modification Time worked. But now we are having other issues, some of them severe.
Issue 1
We created a shadow folder for repository folder and saw the following messages in the log:
7/8/2008 3:18:05 PM <generic>: [<No Name>:1484] GetEntryAssembly() returned null; not logging assembly name
7/8/2008 3:18:05 PM <generic>: [<No Name>:1484] Starting Shadow Folder Thread for repository 10.
7/8/2008 3:18:05 PM <generic>: [<No Name>:2696] Shadow Folder is using the folder, C:\WINDOWS\TEMP\, as a TEMP directory.
7/8/2008 3:18:05 PM <generic>: [<No Name>:1484] Shadow Folder Thread for repository 10 started.
7/8/2008 3:18:06 PM <generic>: [<No Name>:2944] SimpleLogger finalized
7/8/2008 3:18:08 PM <generic>: [<No Name>:2696] Vault's Shadow Folders attempting get for wwwroota
7/8/2008 3:18:25 PM <generic>: [<No Name>:2696] Get took 0.28503135 minutes. --> Local path updated!
That's all well and good, and it created all the files, then it spiked the CPU at 100% for hours. Why?
Issue 2:
We removed all the Shadow Folders, and created two new Shadow folders. Each of these folders has a single file in them. Here is what the log looks like:
7/9/2008 10:52:01 AM <generic>: [<No Name>:292] Starting Shadow Folder Thread for repository 10.
7/9/2008 10:52:01 AM <generic>: [<No Name>:2000] Shadow Folder is using the folder, C:\WINDOWS\TEMP\, as a TEMP directory.
7/9/2008 10:52:01 AM <generic>: [<No Name>:292] Shadow Folder Thread for repository 10 started.
7/9/2008 10:52:01 AM <generic>: [<No Name>:2964] SimpleLogger finalized
7/9/2008 10:52:03 AM <generic>: [<No Name>:2000] Vault's Shadow Folders attempting get for wwwrootb
7/9/2008 10:52:04 AM <generic>: [<No Name>:2000] Get took 0.008004 minutes. --> Local path updated!
7/9/2008 10:52:05 AM <generic>: [<No Name>:2964] SimpleLogger finalized
7/9/2008 10:54:05 AM <generic>: [<No Name>:4040] GetEntryAssembly() returned null; not logging assembly name
7/9/2008 10:54:32 AM <generic>: [<No Name>:2964] SimpleLogger finalized
7/9/2008 10:54:33 AM <generic>: [<No Name>:4040] GetEntryAssembly() returned null; not logging assembly name
7/9/2008 10:54:33 AM <generic>: [<No Name>:4040] Starting Shadow Folder Thread for repository 10.
7/9/2008 10:54:33 AM <generic>: [<No Name>:1856] Shadow Folder is using the folder, C:\WINDOWS\TEMP\, as a TEMP directory.
7/9/2008 10:54:33 AM <generic>: [<No Name>:4040] Shadow Folder Thread for repository 10 started.
7/9/2008 10:54:35 AM <generic>: [<No Name>:1856] Vault Shadow Folder encountered a problem: Object reference not set to an instance of an object.
The first shadow completed successfully, but the second shadow folder is empty.
Help
Issue 1
We created a shadow folder for repository folder and saw the following messages in the log:
7/8/2008 3:18:05 PM <generic>: [<No Name>:1484] GetEntryAssembly() returned null; not logging assembly name
7/8/2008 3:18:05 PM <generic>: [<No Name>:1484] Starting Shadow Folder Thread for repository 10.
7/8/2008 3:18:05 PM <generic>: [<No Name>:2696] Shadow Folder is using the folder, C:\WINDOWS\TEMP\, as a TEMP directory.
7/8/2008 3:18:05 PM <generic>: [<No Name>:1484] Shadow Folder Thread for repository 10 started.
7/8/2008 3:18:06 PM <generic>: [<No Name>:2944] SimpleLogger finalized
7/8/2008 3:18:08 PM <generic>: [<No Name>:2696] Vault's Shadow Folders attempting get for wwwroota
7/8/2008 3:18:25 PM <generic>: [<No Name>:2696] Get took 0.28503135 minutes. --> Local path updated!
That's all well and good, and it created all the files, then it spiked the CPU at 100% for hours. Why?
Issue 2:
We removed all the Shadow Folders, and created two new Shadow folders. Each of these folders has a single file in them. Here is what the log looks like:
7/9/2008 10:52:01 AM <generic>: [<No Name>:292] Starting Shadow Folder Thread for repository 10.
7/9/2008 10:52:01 AM <generic>: [<No Name>:2000] Shadow Folder is using the folder, C:\WINDOWS\TEMP\, as a TEMP directory.
7/9/2008 10:52:01 AM <generic>: [<No Name>:292] Shadow Folder Thread for repository 10 started.
7/9/2008 10:52:01 AM <generic>: [<No Name>:2964] SimpleLogger finalized
7/9/2008 10:52:03 AM <generic>: [<No Name>:2000] Vault's Shadow Folders attempting get for wwwrootb
7/9/2008 10:52:04 AM <generic>: [<No Name>:2000] Get took 0.008004 minutes. --> Local path updated!
7/9/2008 10:52:05 AM <generic>: [<No Name>:2964] SimpleLogger finalized
7/9/2008 10:54:05 AM <generic>: [<No Name>:4040] GetEntryAssembly() returned null; not logging assembly name
7/9/2008 10:54:32 AM <generic>: [<No Name>:2964] SimpleLogger finalized
7/9/2008 10:54:33 AM <generic>: [<No Name>:4040] GetEntryAssembly() returned null; not logging assembly name
7/9/2008 10:54:33 AM <generic>: [<No Name>:4040] Starting Shadow Folder Thread for repository 10.
7/9/2008 10:54:33 AM <generic>: [<No Name>:1856] Shadow Folder is using the folder, C:\WINDOWS\TEMP\, as a TEMP directory.
7/9/2008 10:54:33 AM <generic>: [<No Name>:4040] Shadow Folder Thread for repository 10 started.
7/9/2008 10:54:35 AM <generic>: [<No Name>:1856] Vault Shadow Folder encountered a problem: Object reference not set to an instance of an object.
The first shadow completed successfully, but the second shadow folder is empty.
Help
If you run this SQL query against the sgvault database, how many rows are returned?
Quote:
select * from sgvault.dbo.tblplugins
How many users do you have? Do they receive email notifications when folders are modified?
Do you have debug logging enabled for the Vault Server? This can increase CPU usage.
Is Shadow Folder logging set to "true" in the VaultShadowFolder.config file? If you have many shadow folders, writing to these logs could consume additional CPU .
Quote:
select * from sgvault.dbo.tblplugins
How many users do you have? Do they receive email notifications when folders are modified?
Do you have debug logging enabled for the Vault Server? This can increase CPU usage.
Is Shadow Folder logging set to "true" in the VaultShadowFolder.config file? If you have many shadow folders, writing to these logs could consume additional CPU .
-
- Posts: 17
- Joined: Fri Jun 27, 2008 1:07 pm
It's set to Optimize, and must remain so. Synchronize would destroy projects that we don't keep in Vault.
select * from sgvault.dbo.tblplugins:
1 Row
pluginurlhash pluginurl pluginname triggerevent
0x97223B03DCB1852212A0C573127FC061 http://sourcegear.summitmg.com/VaultSha ... rvice.asmx VaultShadowFolder.VaultShadowFolderService 8
Other answers:
6 users
Not sure if they receive emails. How do I check?
How do I check debug logging?
How do I check Shadow Folder logging?
select * from sgvault.dbo.tblplugins:
1 Row
pluginurlhash pluginurl pluginname triggerevent
0x97223B03DCB1852212A0C573127FC061 http://sourcegear.summitmg.com/VaultSha ... rvice.asmx VaultShadowFolder.VaultShadowFolderService 8
Other answers:
6 users
Not sure if they receive emails. How do I check?
How do I check debug logging?
How do I check Shadow Folder logging?
Look in the admin web page and see if email settings were set. If so, then ask the users if they set any up for themselves. Once the ability is set up in the admin, the it's up to the clients to put in what they want to be notified on in their client.
For debug logging, that is also set in the admin web page under logging.
To find the Shadow Folder's log file, look in the temporary directory of the user the web service runs as. Usually this is the ASPNET user, whose temp folder is something like C:\Documents and Settings\<your machine name>\ASPNET\Local Settings\Temp. If you have configured the Shadow Folder service to run under an impersonated account, check that user's Local Settings\Temp folder.
For debug logging, that is also set in the admin web page under logging.
To find the Shadow Folder's log file, look in the temporary directory of the user the web service runs as. Usually this is the ASPNET user, whose temp folder is something like C:\Documents and Settings\<your machine name>\ASPNET\Local Settings\Temp. If you have configured the Shadow Folder service to run under an impersonated account, check that user's Local Settings\Temp folder.
-
- Posts: 17
- Joined: Fri Jun 27, 2008 1:07 pm
Email settings are set on the Admin page. I'm not aware of any users that do receive emails. Still checking.
Logging: VaultService/Admin/Logging.aspx.
Is set to Quiet
Physical log file is < 1 Meg
I'm not sure about the "temporary directory of the user the web service runs as". The service is not impersonating, but I don't see an ASPNET folder. Is the Shadow log file here? C:\WINDOWS\Temp\SGShadowFolder. I see a vaultshadowfolderservice.txt in there, but it's not very big. Or are you referring to the Vault Website IIS logfile, which is here: C:\WINDOWS\system32\LogFiles\W3SVC1107902261. But again, they are not very big.
Logging: VaultService/Admin/Logging.aspx.
Is set to Quiet
Physical log file is < 1 Meg
I'm not sure about the "temporary directory of the user the web service runs as". The service is not impersonating, but I don't see an ASPNET folder. Is the Shadow log file here? C:\WINDOWS\Temp\SGShadowFolder. I see a vaultshadowfolderservice.txt in there, but it's not very big. Or are you referring to the Vault Website IIS logfile, which is here: C:\WINDOWS\system32\LogFiles\W3SVC1107902261. But again, they are not very big.
-
- Posts: 17
- Joined: Fri Jun 27, 2008 1:07 pm
Separate issues
I think it would best if we handled these issues one at a time. Lets start with what should be the "easy" one. The problem with setting up a second Shadow folder.
This one:
We removed all the Shadow Folders, and created two new Shadow folders. Each of these folders has a single file in them. Here is what the log looks like:
7/9/2008 10:52:01 AM <generic>: [<No Name>:292] Starting Shadow Folder Thread for repository 10.
7/9/2008 10:52:01 AM <generic>: [<No Name>:2000] Shadow Folder is using the folder, C:\WINDOWS\TEMP\, as a TEMP directory.
7/9/2008 10:52:01 AM <generic>: [<No Name>:292] Shadow Folder Thread for repository 10 started.
7/9/2008 10:52:01 AM <generic>: [<No Name>:2964] SimpleLogger finalized
7/9/2008 10:52:03 AM <generic>: [<No Name>:2000] Vault's Shadow Folders attempting get for wwwrootb
7/9/2008 10:52:04 AM <generic>: [<No Name>:2000] Get took 0.008004 minutes. --> Local path updated!
7/9/2008 10:52:05 AM <generic>: [<No Name>:2964] SimpleLogger finalized
7/9/2008 10:54:05 AM <generic>: [<No Name>:4040] GetEntryAssembly() returned null; not logging assembly name
7/9/2008 10:54:32 AM <generic>: [<No Name>:2964] SimpleLogger finalized
7/9/2008 10:54:33 AM <generic>: [<No Name>:4040] GetEntryAssembly() returned null; not logging assembly name
7/9/2008 10:54:33 AM <generic>: [<No Name>:4040] Starting Shadow Folder Thread for repository 10.
7/9/2008 10:54:33 AM <generic>: [<No Name>:1856] Shadow Folder is using the folder, C:\WINDOWS\TEMP\, as a TEMP directory.
7/9/2008 10:54:33 AM <generic>: [<No Name>:4040] Shadow Folder Thread for repository 10 started.
7/9/2008 10:54:35 AM <generic>: [<No Name>:1856] Vault Shadow Folder encountered a problem: Object reference not set to an instance of an object.
The first shadow completed successfully, but the second shadow folder is empty.
This one:
We removed all the Shadow Folders, and created two new Shadow folders. Each of these folders has a single file in them. Here is what the log looks like:
7/9/2008 10:52:01 AM <generic>: [<No Name>:292] Starting Shadow Folder Thread for repository 10.
7/9/2008 10:52:01 AM <generic>: [<No Name>:2000] Shadow Folder is using the folder, C:\WINDOWS\TEMP\, as a TEMP directory.
7/9/2008 10:52:01 AM <generic>: [<No Name>:292] Shadow Folder Thread for repository 10 started.
7/9/2008 10:52:01 AM <generic>: [<No Name>:2964] SimpleLogger finalized
7/9/2008 10:52:03 AM <generic>: [<No Name>:2000] Vault's Shadow Folders attempting get for wwwrootb
7/9/2008 10:52:04 AM <generic>: [<No Name>:2000] Get took 0.008004 minutes. --> Local path updated!
7/9/2008 10:52:05 AM <generic>: [<No Name>:2964] SimpleLogger finalized
7/9/2008 10:54:05 AM <generic>: [<No Name>:4040] GetEntryAssembly() returned null; not logging assembly name
7/9/2008 10:54:32 AM <generic>: [<No Name>:2964] SimpleLogger finalized
7/9/2008 10:54:33 AM <generic>: [<No Name>:4040] GetEntryAssembly() returned null; not logging assembly name
7/9/2008 10:54:33 AM <generic>: [<No Name>:4040] Starting Shadow Folder Thread for repository 10.
7/9/2008 10:54:33 AM <generic>: [<No Name>:1856] Shadow Folder is using the folder, C:\WINDOWS\TEMP\, as a TEMP directory.
7/9/2008 10:54:33 AM <generic>: [<No Name>:4040] Shadow Folder Thread for repository 10 started.
7/9/2008 10:54:35 AM <generic>: [<No Name>:1856] Vault Shadow Folder encountered a problem: Object reference not set to an instance of an object.
The first shadow completed successfully, but the second shadow folder is empty.
What version of Vault are you using?
Could you send us a copy of your Vault server log that covers the time of the failed update?
I'd also like a copy of the shadow folder web.config file.
Send this to support at Sourcegear.com, attn: Linda
If you remove the first shadow folder association, does the second one update?
Could you send us a copy of your Vault server log that covers the time of the failed update?
I'd also like a copy of the shadow folder web.config file.
Send this to support at Sourcegear.com, attn: Linda
If you remove the first shadow folder association, does the second one update?
Linda Bauer
SourceGear
Technical Support Manager
SourceGear
Technical Support Manager
-
- Posts: 17
- Joined: Fri Jun 27, 2008 1:07 pm