Thursday, May 24, 2007

TFS Data Warehouse Not Being Updated by TFS TFSServerScheduler

May 2007 - We had an ongoing issue where the TFS Data Warehouse was not updated by TFS TFSServerScheduler but could be invoked manually. What we think happened is when we installed TFS to a different port (i.e. 8888) and went through the process of putting our App Tier behind a Fully Qualified Domain Name, not all of the Registry Entries were updated as needed.

With the help of this posting and some sleepless nights we sifted through the App Tier's registry and found a number of references to AppTier-B01:8080 instead of AppTier-B01:8888 or better tfs.int.mycompany.com:8888 which is a DNS entry for AppTier-B01:8888. We also found a number of duplicate references where both AppTier-B01:8080 and tfs.mycompany.com:8888 were listed. We logged on as the TFSInstall, TFSService, and TFSReports account and did the clean-up as some of the settings are under HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\8.0\TeamFoundation\Servers.

The lesson learned is to make sure all your registry settings are correct for ALL USERS. Because our AppTier name did not change (we just put it behind DNS), we think the most important piece was the port number which we changed from 8080 to 8888. Below are our current settings on the App Tier.

Sys Admin Account:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0\TeamFoundation\Servers
tfs.mycompany.com = http://tfs.mycompany.com:8888

HKEY_CURRENT_USER\SOFTWARE\Microsoft\VisualStudio\8.0\TeamFoundation\Servers
tfs.mycompany.com = http://tfs.mycompany.com:8888

TFSService Account:

HKEY_CURRENT_USER\SOFTWARE\Microsoft\VisualStudio\8.0\TeamFoundation\Servers
tfs.mycompany.com = http://tfs.mycompany.com:8888

2 comments:

Sam Heald said...

There's actually a configuration setting for the TFSServerScheduler that specifies its TFS URL. The registry key is just a fallback mechanism if the setting is not found. The application setting is the preferred mechanism to configure the scheduler.

For more information, please consult the MSDN documentation on configuring SSL, renaming your AT, or the TFSServerScheduler.config file.

TfsServerScheduler.config
Renaming the AT

Mac Noland said...

Thanks for the comment Sam. I took a look at the TfsServerScheduler.config document below. What's odd is our config file has <add key="BisDomainUrl" value="http://tfs.mycompany.com:8888" /> listed in it, where the document says the value should be TFSNameURL "If you have not yet installed SP1, change this setting name to TfsNameUrl before you change the value of the setting.
".
I don't have time to test this right now, but I wonder since our value says "BisDomainUrl" it's failing then going to the Reg setting which was incorrect. Once fixing the reg setting, the service is still failing, but going to the reg setting to get the correct value. If I get some spare time, maybe I'll test that out.