Po upgrade Team Foundation Server do wersji 2008, który został opisany tutaj. Przez długi czas z serwerem nie było problemów. Developerzy pracowali w spokoju, PMowie robili to co powinni – po prostu bajka:)
Ostatnio w logach zaczęły pojawiać się niepokojące informacje na temat generowanych raportów. Raporty z projektów generowane są przez Data WareHouse – warto skorzystać z linka aby dowiedzieć się więcej o teorii jego działania.
Do prawidłowego generowania raportów WareHouse powinien być uaktualniany na bieżąco. Domyślnie jego stan jest odświeżany co 1 godzinę. Do kontroli pracy Data Warehouse służy web service dostępny tylko z maszyny na której jest zainstalowany VSTFS pod adresem: http://localhost:8080/Warehouse/v1.0/warehousecontroller.asmx
Można za jego pomocą między innymi:
- zmienić ustawienia: ChangeSetting
- sprawdzić czy w danej chwili DataWarehouse jest uaktualniany: GetWarehouseStatus
- uruchomić ręcznie proces uaktualniania DataWarehouse: Run
W moim przypadku nie dało się za pomocą tego web service’u wymusić aktualizacji DataWareHouse.
Sprawdziłem kiedy DataWarehouse po raz ostatni był uaktualniony:
SELECT Setting AS LastProcessedTime
FROM [TfsWarehouse].[dbo].[_WarehouseConfig]
WHERE ID = ‘LastProcessTimeStamp’
I niestety było to dawno temu:( W projektowym życiu każdy dzień jest na wagę złota.
Rozwiązaniem, które wybrałem był rebuild całego Dara WareHouse, rozwiązanie mało finezyjne i w moim wypadku długotrwałe (w moim przypadku baza Data WareHouse ma kilkanaście GB) jednak to jedyne wyjście. Jak to zrobić:
cd C:\Program Files\Microsoft Visual Studio 2008 Team Foundation Server\Tools
setupwarehouse -rebuild -mturl “http://nazwaVSTFS:8080″ -s nazwaSQL -d TFSWarehouse -c wareHouseSchema.xml -a DOMENA\TFSSERVICE -ra DOMENA\TFSREPORTS -edt TfsBuild
Operacja ta usuwa istniejącą bazę TFSWarehouse i tworzy nową pustą bazę jednocześnie inicjując pompowanie jej danymi. Warto pamiętać, że wykonując tą operację tracimy raporty o projektach które zostały skasowane.
W moim wypadku zadziałało: GetWarehouseStatus zwrócił informację: RunningAdapters, czyli DataWarehouse jest uaktualniany.
Po kilku godzinach (tak długo, bo baza która została przeanalizowana by wytworzyć Data WareHouse jest naprawdę duża) operacja została zakończona i raporty mogą być już generowane prawidłowo.
Co prawda pojawił się problem wynikający z konfiguracji SQL Servera, ale nie rzutuje to na całość procesu. A co do problemu z SQL to postaram się go opisać, bo to ciekawe case study.
źródła:
własne doświadczenia


One Response
Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.
Continuing the Discussion