Another TFS Warehouse problem...
Hello,
Our TFS Warehouse cube has not been updated for a long time and this affects of course our reports. When I look in the event log at the tfs server I can see many errors from 'TFS Warehouse' and 'MSSQLServerOLAPService'. I list the event details for you below and hopefulle someone here can help me with it. By the way - we are using the latest version of TFS with single server installation.
Thanks Thomas
Event Type: Error
Event Source: TFS Warehouse
Event Category: None
Event ID: 3000
Date: 2006-08-15
Time: 12:11:13
User: N/A
Computer: cmmpltAPP
Description:
TF53010: An unexpected condition has occurred in a Team Foundation component. The information contained here should be made available to your site administrative staff.
Technical Information (for the administrative staff):
Date (UTC): 2006-08-15 10:11:13
Machine: cmmpltAPP
Application Domain: /LM/W3SVC/3/Root/Warehouse-1-128000922376692872
Assembly: Microsoft.TeamFoundation.Warehouse, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a; v2.0.50727
Process Details:
Process Name: w3wp
Process Id: 6112
Thread Id: 2100
Account name: cmmplt\TFSSERVICE
Detailed Message: The pending configuration changes were not successfully added to the cube because of the following error: Microsoft.AnalysisServices.OperationException: XML parsing failed at line 36, column 1424: Unexpected end of input.
.
Errors in the metadata manager. An error occurred when instantiating a metadata object from the file, '\\?\C:\Program Files\Microsoft SQL Server\MSSQL.2\OLAP\Data\TFSWarehouse.0.db\Today.628.dim.xml'.
Errors in the metadata manager. An error occurred when instantiating a metadata object from the file, '\\?\C:\Program Files\Microsoft SQL Server\MSSQL.2\OLAP\Data\TFSWarehouse.0.db\Today.628.dim.xml'.
at Microsoft.AnalysisServices.AnalysisServicesClient.SendExecuteAndReadResponse(ImpactDetailCollection impacts, Boolean expectEmptyResults, Boolean throwIfError)
at Microsoft.AnalysisServices.AnalysisServicesClient.Alter(IMajorObject obj, ObjectExpansion expansion, ImpactDetailCollection impact, Boolean allowCreate)
at Microsoft.AnalysisServices.Server.Update(IMajorObject obj, UpdateOptions options, UpdateMode mode, XmlaWarningCollection warnings, ImpactDetailCollection impactResult)
at Microsoft.AnalysisServices.Server.SendUpdate(IMajorObject obj, UpdateOptions options, UpdateMode mode, XmlaWarningCollection warnings, ImpactDetailCollection impactResult)
at Microsoft.AnalysisServices.MajorObject.Update(UpdateOptions options, UpdateMode mode, XmlaWarningCollection warnings)
at Microsoft.AnalysisServices.MajorObject.Update(UpdateOptions options)
at Microsoft.TeamFoundation.Warehouse.OlapCreator.CreateOlap(WarehouseConfig whConf, String accessUser, String dataReaderAccount, Boolean dropDB)
at Microsoft.TeamFoundation.Warehouse.AdapterScheduler.EnsureCubeIsUpToDate()
For more information, see Help and Support Center athttp://go.microsoft.com/fwlink/events.asp.
Event Type: Error
Event Source: MSSQLServerOLAPService
Event Category: (289)
Event ID: 18
Date: 2006-08-15
Time: 12:11:13
User: N/A
Computer: cmmpltAPP
Description:
Errors in the metadata manager. An error occurred when instantiating a metadata object from the file, '\\?\C:\Program Files\Microsoft SQL Server\MSSQL.2\OLAP\Data\TFSWarehouse.0.db\Today.628.dim.xml'.
For more information, see Help and Support Center athttp://go.microsoft.com/fwlink/events.asp.
HI
Same problem here, except from the fact that my corrupt file is Area.789.dim.xml and its completely empty :-(
So what to put in there? I have two other similar files lying around in the OLAP\Data\TFSWarehouse.0.db named Area.786.dim.xml and Area.787.dim.xml with content. A quick windiff shows that these files are identical except from some timestamps and the string literals 786 vs. 787 scattered around in the appropriate files. So my plan is to 'fix' the 789 file based on the contents of one of the other files and see what happens. Please somebody stop me if i'm doing something monstruosly stupid that f***s up our installation (I'm doing it now so you probably want make it :-)
Brumlemann
Update 1:
Seems I got past that file but ran into another parse error (included below). I'll try the same stunt.
Update 2:
Well, not so easy. This is the end of file (line 46 as stated by the failing parser):
</
Annotations><Translations><Translation><Language>1033</Language><Caption>Work Item</Caption><Description/><DisplayFolder/></Translation></Translations><Attributes><Attribute><AttributeID>Work Item</AttributeID><AggregationUsage>Default</AggregationUsage><AttributeHierarchyEnabled>true</AttributeHierarchyEnabled><AttributeHierarchyVisible>false</AttributeHierarchyVisible><AttributeHierarchyOptimizedState>FullyOptimized</AttributeHierarchyOptimizedState></Attribute><Attribute><AttributeID>Previous State</AttributeID><AggregationUsage>Default</AggregationUsage><AttributeHierarchyEnabled>true</AttributeHierarchyEnabled><AttributeHierarchyVisible>true</AttributeHierarchyVisible><AttributeHierarchyOptimizedState>FullyOptimized</AttributeHierarchyOptimizedState></Attribute><Attribute><AttributeID>System_Id</AttributeID><AggregationUsage>Default</AggregationUsage><AttributeHierarchyEnabled>true</AttributeHierarchyEnabled><AttributeHierarchyVisible>true</AttributeHierarchyVisible><AttributeHierarchyOptimizedState>FullyOptimized</AttributeHierarchyOptimizedState></Attribute><Attribute><AttributeID>System_Title</AttributeID><AggregationUsage>Default</AggregationUsage><AttributeHierarchyEnabled>true</AttributeHierarchyEnabled><AttributeHierarchyVisible>true</AttributeHierarchyVisible><AttributeHierarchyOptimizedState>FullyOptimized</AttributeHierarchyOptimizedState></Attribute><Attribute><AttributeID>System_State</AttributeID><AggregationUsage>Default</AggregationUsage><AttributeHierarchyEnabled>true</AttributeHierarchyEnabled><AttributeHierarchyVisible>true</AttributeHierarchyVisible><AttributeHierarchyOptimizedState>FullyOptimized</AttributeHierarchyOptimizedState></Attribute><Attribute><AttributeID>System_Rev</AttributeID><AggregationUsage>Default</AggregationUsage><AttributeHierarchyEnabled>true</AttributeHierarchyEnabled><AttributeHierarchyVisible>true</AttributeHierarchyVisible><AttributeHierarchyOptimizedState>FullyOptimized</AttributeHierarchyOptimizedState></Attribute><Attribute><AttributeID>System_Reason</AttributeID><AggregationUsage>Default</AggregationUsage><AttributeHierarchyEnabled>true</AttributeHierarchyEnabled><AttributeHierarchyVisible>true</AttributeHierarchyVisible><AttributeHierarSo it ends rather abruptly. So I'm trying to use the content of Team System.2273.xml (which I for some reason have lying around). Wish me luck :-)
BTW, could it be possible for MS to straighten up their policy on nicing XML output? Always a problem to do diffs on XML when the lines are a mile long. Ever tried to resolve a conflict in a *.vsmdi file? Then u know what I mean :-(
I'll be back
Update 3:
That did the trick :-)
Brumlemann
--
TF53010: An unexpected condition has occurred in a Team Foundation component. The information contained here should be made available to your site administrative staff.
Technical Information (for the administrative staff):
Date (UTC): 04.09.2006 10:41:09
Machine: 540-SYSVAK
Application Domain: /LM/W3SVC/2/Root/Warehouse-1-128018256501820784
Assembly: Microsoft.TeamFoundation.Warehouse, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a; v2.0.50727
Process Details:
Process Name: w3wp
Process Id: 2852
Thread Id: 3604
Account name: NO\TFSSERVICE
Detailed Message: The pending configuration changes were not successfully added to the cube because of the following error: Microsoft.AnalysisServices.OperationException: XML parsing failed at line 46, column 2253: Unexpected end of input.
.
Errors in the metadata manager. An error occurred when instantiating a metadata object from the file, '\\?\C:\Program Files\Microsoft SQL Server\MSSQL.2\OLAP\Data\TFSWarehouse.0.db\Team System.2276.cub.xml'.
Errors in the metadata manager. An error occurred when instantiating a metadata object from the file, '\\?\C:\Program Files\Microsoft SQL Server\MSSQL.2\OLAP\Data\TFSWarehouse.0.db\Team System.2276.cub.xml'.
at Microsoft.AnalysisServices.AnalysisServicesClient.SendExecuteAndReadResponse(ImpactDetailCollection impacts, Boolean expectEmptyResults, Boolean throwIfError)
at Microsoft.AnalysisServices.AnalysisServicesClient.Alter(IMajorObject obj, ObjectExpansion expansion, ImpactDetailCollection impact, Boolean allowCreate)
at Microsoft.AnalysisServices.Server.Update(IMajorObject obj, UpdateOptions options, UpdateMode mode, XmlaWarningCollection warnings, ImpactDetailCollection impactResult)
at Microsoft.AnalysisServices.Server.SendUpdate(IMajorObject obj, UpdateOptions options, UpdateMode mode, XmlaWarningCollection warnings, ImpactDetailCollection impactResult)
at Microsoft.AnalysisServices.MajorObject.Update(UpdateOptions options, UpdateMode mode, XmlaWarningCollection warnings)
at Microsoft.AnalysisServices.MajorObject.Update(UpdateOptions options)
at Microsoft.TeamFoundation.Warehouse.OlapCreator.CreateOlap(WarehouseConfig whConf, String accessUser, String dataReaderAccount, Boolean dropDB)
at Microsoft.TeamFoundation.Warehouse.AdapterScheduler.EnsureCubeIsUpToDate()
Hi Brumlemann,
Replacing the file as Thomas did is something that worked for him but instead of that I would recommend to rebuild the cube. The Warehouse consists of two pieces, the relational database and the cube. In your case the cube seems to be corrupted and the best solution is to rebuild it.
Rebuilding the cube is very fast and there is no possible data loss because the warehouse relational database is not touched in this process.
In order to rebuild the cube you need to run from your Application Tier the "setupwarehouse.exe" utility. Follow these steps please.
1. In Application Tier open a cmd window and navigate to your Team Foundation installation folder and then to the Tools folder there.
2. Run setupwarehouse as follows (the -o means only rebuild the cube):
setupwarehouse -o -s <DataTierMachineName> -d TfsWarehouse -a <TfsServiceAccount> -ra <TfsReportsAccount> -c warehouseschema.xml -mturl http://<ApplicationTierMachineName>:8080
3. After this is done hit the following web page in your Application Tier
http://localhost:8080/Warehouse/v1.0/warehousecontroller.asmx?op=Run
The last step is so that the cube is reprocessed with the data in the warehouse relational database.
4. You can then use the GetWarehouseStatus web method to see when the cube is ready. When the status returned by this method is "Idle" you know the cube is ready
http://localhost:8080/Warehouse/v1.0/warehousecontroller.asmx?op=GetWarehouseStatus
Please let us know who it goes.
Thanks.
Federico