Skip to content

[Bug]: Health / Expected a Name-token, but found a Dot-token. #2645

@JerryNixon

Description

@JerryNixon

What happened?

When navigating to https://localhost:5001/health

Image

Configuration

{
  "$schema": "https://github.com/Azure/data-api-builder/releases/download/v1.3.19/dab.draft.schema.json",
  "data-source": {
    "database-type": "mssql",
    "connection-string": "@env('my-connection-string')",
    "options": {
      "set-session-context": false
    }
  },
  "runtime": {
    "rest": {
      "enabled": true,
      "path": "/api",
      "request-body-strict": true
    },
    "graphql": {
      "enabled": true,
      "path": "/graphql",
      "allow-introspection": true
    },
    "host": {
      "cors": {
        "origins": [],
        "allow-credentials": false
      },
      "authentication": {
        "provider": "StaticWebApps"
      },
      "mode": "development"
    }
  },
  "entities": {
    "Actor": {
      "source": {
        "object": "dbo.Actor",
        "type": "table",
        "key-fields": [
          "Id"
        ]
      },
      "graphql": {
        "enabled": true,
        "type": {
          "singular": "Actor",
          "plural": "Actors"
        }
      },
      "rest": {
        "enabled": true,
        "path": "/Actor"
      },
      "permissions": [
        {
          "role": "anonymous",
          "actions": [
            {
              "action": "*"
            }
          ]
        }
      ],
      "mappings": {
        "BirthYear": "BirthYear",
        "Id": "Id",
        "Name": "Name"
      }
    }
  }
}

Output

Information: Microsoft.DataApiBuilder 1.5.29
Information: Config not provided. Trying to get default config based on DAB_ENVIRONMENT...
Information: Environment variable DAB_ENVIRONMENT is (null)
Loading config file from C:\Temp\dab\dotnetday\1\dab-config.json.
Information: Loaded config file: dab-config.json
Information: Setting default minimum LogLevel: Debug for Development mode.
Starting the runtime engine...
Loading config file from C:\Temp\dab\dotnetday\1\dab-config.json.
Monitoring config: dab-config.json for hot-reloading.
info: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[63]
      User profile is available. Using 'C:\Users\jnixon\AppData\Local\ASP.NET\DataProtection-Keys' as key repository and Windows DPAPI to encrypt keys at rest.
info: Azure.DataApiBuilder.Core.Services.ISqlMetadataProvider[0]
      [Actor] REST path: /api//Actor
dbug: Azure.DataApiBuilder.Core.Resolvers.IQueryExecutor[0]
       Executing query: SELECT STE.type_desc FROM sys.triggers ST inner join sys.trigger_events STE On ST.object_id = STE.object_id AND ST.parent_id = object_id(@param0 + '.' + @param1) WHERE ST.is_disabled = 0;
dbug: Azure.DataApiBuilder.Core.Resolvers.IQueryExecutor[0]
       Executing query: SELECT ifsc.COLUMN_NAME from sys.columns as sc INNER JOIN INFORMATION_SCHEMA.COLUMNS as ifsc ON (sc.is_computed = 1 or ifsc.DATA_TYPE = 'timestamp') AND sc.object_id = object_id(@param0+'.'+@param1) AND ifsc.TABLE_SCHEMA = @param0 AND ifsc.TABLE_NAME = @param1 AND ifsc.COLUMN_NAME = sc.name;
dbug: Azure.DataApiBuilder.Core.Services.ISqlMetadataProvider[0]
      Logging primary key information for entity: Actor.
dbug: Azure.DataApiBuilder.Core.Services.ISqlMetadataProvider[0]
      Primary key column name: Id
      Primary key mapped name: Id
      Type: Int32
      IsNullable: False
      IsAutoGenerated: False
info: Azure.DataApiBuilder.Service.Startup[0]
      Successfully completed runtime initialization.
info: Microsoft.Hosting.Lifetime[14]
      Now listening on: http://localhost:5000
info: Microsoft.Hosting.Lifetime[14]
      Now listening on: https://localhost:5001
info: Microsoft.Hosting.Lifetime[0]
      Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
      Hosting environment: Production
info: Microsoft.Hosting.Lifetime[0]
      Content root path: C:\Temp\dab\dotnetday\1
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/2 GET https://localhost:5001/health - - -
dbug: Azure.DataApiBuilder.Core.AuthenticationHelpers.ClientRoleHeaderAuthenticationMiddleware[0]
      f835f3bf-582d-43cd-b248-56a1f49f2b5b AuthN state: Anonymous. Role: Anonymous. Scheme: StaticWebAppsAuthentication
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint 'Azure.DataApiBuilder.Service.Controllers.HealthController.Get (Azure.DataApiBuilder.Service)'
info: Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker[102]
      Route matched with {action = "Get", controller = "Health"}. Executing controller action with signature System.Threading.Tasks.Task Get() on controller Azure.DataApiBuilder.Service.Controllers.HealthController (Azure.DataApiBuilder.Service).
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 GET https://localhost:5001/api/Actor?$first=100 - - -
dbug: Azure.DataApiBuilder.Core.AuthenticationHelpers.ClientRoleHeaderAuthenticationMiddleware[0]
      8dc622b1-8070-4cd1-841d-5482811e422c AuthN state: Anonymous. Role: Anonymous. Scheme: StaticWebAppsAuthentication
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint 'Azure.DataApiBuilder.Service.Controllers.RestController.Find (Azure.DataApiBuilder.Service)'
info: Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker[102]
      Route matched with {action = "Find", controller = "Rest"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] Find(System.String) on controller Azure.DataApiBuilder.Service.Controllers.RestController (Azure.DataApiBuilder.Service).
dbug: Azure.DataApiBuilder.Core.Resolvers.IQueryExecutor[0]
      8dc622b1-8070-4cd1-841d-5482811e422c Executing query: SELECT TOP 101 [dbo_Actor].[Id] AS [Id], [dbo_Actor].[Name] AS [Name], [dbo_Actor].[BirthYear] AS [BirthYear]  FROM [dbo].[Actor] AS [dbo_Actor] WHERE 1 = 1 ORDER BY [dbo_Actor].[Id] ASC FOR JSON PATH, INCLUDE_NULL_VALUES
info: Microsoft.AspNetCore.Mvc.Infrastructure.ObjectResultExecutor[1]
      Executing OkObjectResult, writing value of type '<>f__AnonymousType1`1[[System.Collections.Generic.List`1[[System.Text.Json.JsonElement, System.Text.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51]], System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]'.
info: Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker[105]
      Executed action Azure.DataApiBuilder.Service.Controllers.RestController.Find (Azure.DataApiBuilder.Service) in 40.9295ms
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint 'Azure.DataApiBuilder.Service.Controllers.RestController.Find (Azure.DataApiBuilder.Service)'
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished HTTP/1.1 GET https://localhost:5001/api/Actor?$first=100 - 200 - application/json;+charset=utf-8 51.4501ms
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 POST https://localhost:5001/graphql - application/json;+charset=utf-8 66
dbug: Azure.DataApiBuilder.Core.AuthenticationHelpers.ClientRoleHeaderAuthenticationMiddleware[0]
      fe56cb9d-a95b-446d-9c8c-082f220e2ea6 AuthN state: Anonymous. Role: Anonymous. Scheme: StaticWebAppsAuthentication  
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint 'Hot Chocolate GraphQL Pipeline'
fail: Azure.DataApiBuilder.Service.Startup[0]
      Error code: HC0011
Error message: Expected a `Name`-token, but found a `Dot`-token.
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint 'Hot Chocolate GraphQL Pipeline'
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished HTTP/1.1 POST https://localhost:5001/graphql - 400 - application/json;+charset=utf-8 238.8768ms   
info: Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker[105]
      Executed action Azure.DataApiBuilder.Service.Controllers.HealthController.Get (Azure.DataApiBuilder.Service) in 354.2464ms
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint 'Azure.DataApiBuilder.Service.Controllers.HealthController.Get (Azure.DataApiBuilder.Service)'   
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished HTTP/2 GET https://localhost:5001/health - 200 - - 378.9903ms

Health output

{
  "status": "Unhealthy",
  "version": "1.5.29",
  "app-name": "dab_oss_1.5.29",
  "configuration": {
    "rest": true,
    "graphql": true,
    "caching": false,
    "telemetry": false,
    "mode": "Development"
  },
  "checks": [
    {
      "status": "Healthy",
      "name": "MSSQL",
      "tags": [
        "data-source"
      ],
      "data": {
        "response-ms": 1,
        "threshold-ms": 1000
      }
    },
    {
      "status": "Healthy",
      "name": "Actor",
      "tags": [
        "rest",
        "endpoint"
      ],
      "data": {
        "response-ms": 87,
        "threshold-ms": 1000
      }
    },
    {
      "status": "Unhealthy",
      "name": "Actor",
      "exception": "The GraphQL HealthEndpoint query failed with code: BadRequest.",
      "tags": [
        "graphql",
        "endpoint"
      ],
      "data": {
        "response-ms": -1,
        "threshold-ms": 1000
      }
    }
  ]
}

Metadata

Metadata

Assignees

Labels

Type

Projects

Status

Done

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions