Debugging and Tuning Feature Sources

To debug feature source issues, turn on warning level detail for the feature service:

[GeneralProperties]
LogsDetail = FeatureService:1

This provides more detail for any thrown exceptions by including the method parameters in the stack trace.

<2008-07-28T17:04:10> 	3324			Anonymous
 Error: An exception occurred in FDO component.
        Failed to connect to 'calcrtora'. Invalid data 
        source, user name or password. 
 StackTrace:
  - MgFeatureServiceHandler.ProcessOperation() line 83 file
    f:\mgdev1.2\os\server\src\services\feature\
    FeatureServiceHandler.cpp
  - MgOpDescribeSchemaAsXml.Execute() line 107 file 
    f:\mgdev1.2\os\server\src\services\feature\
    OpDescribeSchemaAsXml.cpp
  - MgServerFeatureService.DescribeSchemaAsXml
    (Resource=Library://Data/NT_NA.FeatureSource,
    SchemaName=) line 333 file f:\mgdev1.2\os\server\src\
    services\feature\ServerFeatureService.cpp
  - MgServerDescribeSchema.DescribeSchema() line 500 file 
    f:\mgdev1.2\os\server\src\services\feature\
    ServerDescribeSchema.cpp
  - MgServerDescribeSchema.ExecuteDescribeSchema() 
    line 173 file f:\mgdev1.2\os\server\src\services\
    feature\ServerDescribeSchema.cpp
  - MgFdoConnectionManager.Open() line 979 file 
    f:\MgDev1.2\OS\Server\src\Common\Manager\
    FdoConnectionManager.cpp	An exception occurred in 
    FDO component.
Failed to connect to 'calcrtora'. Invalid data source, 
user name or password.

Additional information can be obtained by enabling trace level detail:

[GeneralProperties]
LogsDetail = FeatureService:2

The trace log provides more context. For example, the DescribeSchemaAsXml call below is failing after the resource content and resource data have been retrieved from the repository. The trace log also provides timestamps for the start and end of each feature service operation. These timestamps can be used to determine the execution time of feature service operations.

<2008-07-28T17:04:09.900546>    3324    
   BGN MgServerFeatureService.DescribeSchemaAsXml   
   Resource=Library://Data/NT_NA.FeatureSource,SchemaName=
<2008-07-28T17:04:09.900546>    3324    
   BGN MgServerResourceService.GetResourceContent   
   Id=Library://Data/NT_NA.FeatureSource,Tags=Substitution
<2008-07-28T17:04:09.900546>    3324    
   END MgServerResourceService.GetResourceContent
<2008-07-28T17:04:09.900546>    3324    
   BGN MgServerResourceService.GetResourceData  
   Id=Library://Data/NT_NA.FeatureSource,DataName=
   config.xml,Tags=Substitution
<2008-07-28T17:04:09.900546>    3324    
   END MgServerResourceService.GetResourceData
<2008-07-28T17:04:10.884997>    3324    
   END MgServerFeatureService.DescribeSchemaAsXml
<2008-07-28T17:04:10.884997>    3324
 Error: An exception occurred in FDO component.
        Failed to connect to 'calcrtora'. Invalid data 
        source, user name or password.
<2008-07-28T18:20:
01
.259646> 1160    BGN MgServerFeatureService.DescribeSchemaAsXml    Resource=Library://Data/NT_NA.FeatureSource,SchemaName= <2008-07-28T18:20:01.259646> 1160    BGN MgServerResourceService.GetResourceContent    Id=Library://Data/NT_NA.FeatureSource,Tags=Substitution <2008-07-28T18:20:01.259646> 1160    END MgServerResourceService.GetResourceContent <2008-07-28T18:20:01.259646> 1160    BGN MgServerResourceService.GetResourceData    Id=Library://Data/NT_NA.FeatureSource,DataName=    config.xml,Tags=Substitution <2008-07-28T18:20:01.259646> 1160    END MgServerResourceService.GetResourceData <2008-07-28T18:20:06.275657> 1160    END MgServerFeatureService.DescribeSchemaAsXml <2008-07-28T18:20:
06
.275657> 1160

The timestamps for the BGN and END of MgFeatureService.DescribeSchemaAsXml are 5 seconds apart indicating that the DescribeSchema call is relatively slow for the NT_NA.FeatureSource.