Graphql-engine: Introspection-query error

Created on 23 Apr 2020  路  5Comments  路  Source: hasura/graphql-engine

Hello. I tried running an introspection-query of my environment using elm graphql, but get this error:

{"type":"http-log","timestamp":"2020-04-23T16:02:52.106+0000","level":"error","detail":{"operation":{"user_vars":{"x-hasura-role":"admin"},"error":{"path":"$.variableValues","error":"unexpected variables: includeDeprecated","code":"validation-failed"},"request_id":"ce53493c-fc37-42c0-9bf9-b7a5c7fe207a","response_size":104,"query":{"variables":{"includeDeprecated":true},"query":"query IntrospectionQuery($includeDeprecated: Boolean!) {\n    __schema {\n      queryType {\n        name\n      }\n      mutationType {\n        name\n      }\n      subscriptionType {\n        name\n      }\n      types {\n        ...FullType\n      }\n    }\n  }\n\n  fragment FullType on __Type {\n    kind\n    name\n    description\n    fields(includeDeprecated: $includeDeprecated) {\n      name\n      description\n      args {\n        ...InputValue\n      }\n      type {\n        ...TypeRef\n      }\n      isDeprecated\n      deprecationReason\n    }\n    inputFields {\n      ...InputValue\n    }\n    interfaces {\n      ...TypeRef\n    }\n    enumValues(includeDeprecated: $includeDeprecated) {\n      name\n      description\n      isDeprecated\n      deprecationReason\n    }\n    possibleTypes {\n      ...TypeRef\n    }\n  }\n\n  fragment InputValue on __InputValue {\n    name\n    description\n    type { ...TypeRef }\n    defaultValue\n  }\n\n  fragment TypeRef on __Type {\n    kind\n    name\n    ofType {\n      kind\n      name\n      ofType {\n        kind\n        name\n        ofType {\n          kind\n          name\n          ofType {\n            kind\n            name\n            ofType {\n              kind\n              name\n              ofType {\n                kind\n                name\n                ofType {\n                  kind\n                  name\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  }"}},"http_info":{"status":200,"http_version":"HTTP/1.1","url":"/v1/graphql","ip":"XXX.XX.XX.XXX","method":"POST","content_encoding":null}}}

If I reload my meta-data in the Hasura-console, this exact introspection-query succeeds, but every subsequent introspection fails :(

server bug

All 5 comments

@opvasger Could you try it out without passing includeDeprecated arg for now and let us know if it works until we identify what the issue is?

Also could you post the server version you are running?

From the http-log the query is as below

uery IntrospectionQuery($includeDeprecated: Boolean!) {
    __schema {
      queryType {
        name
      }
      mutationType {
        name
      }
      subscriptionType {
        name
      }
      types {
        ...FullType
      }
    }
  }
  fragment FullType on __Type {
    kind
    name
    description
    fields(includeDeprecated: $includeDeprecated) {
      name
      description
      args {
        ...InputValue
      }
      type {
        ...TypeRef
      }
      isDeprecated
      deprecationReason
    }
    inputFields {
      ...InputValue
    }
    interfaces {
      ...TypeRef
    }
    enumValues(includeDeprecated: $includeDeprecated) {
      name
      description
      isDeprecated
      deprecationReason
    }
    possibleTypes {
      ...TypeRef
    }
  }
  fragment InputValue on __InputValue {
    name
    description
    type { ...TypeRef }
    defaultValue
  }
  fragment TypeRef on __Type {
    kind
    name
    ofType {
      kind
      name
      ofType {
        kind
        name
        ofType {
          kind
          name
          ofType {
            kind
            name
            ofType {
              kind
              name
              ofType {
                kind
                name
                ofType {
                  kind
                  name
                }
              }
            }
          }
        }
      }
    }
  }

And variable is as below

{"includeDeprecated":true}

If the fragment expansion is valid then this should work.

cc: @tirumaraiselvan

I ran the introspection-query without the variable, and it works every time without it.

About

Current server version: v1.1.1
Latest stable server version: v1.1.1
Console asset version: 1585320727535
Postgres version: PostgreSQL 12.2 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.3 20140911 (Red Hat 4.8.3-9), 64-bit

I really appreciate the attention. If I can do anything to help you further, let me know!

I'm currently resetting metadata before every deploy, and I have no problems so far doing this :sunny:

I see you have merged the changes into master - does this mean they will be included in the next patch-release?

@opvasger Keep an eye out for the latest releases, hopefully this fix will be released soon!

Was this page helpful?
0 / 5 - 0 ratings