GraphQL complexity values are incorrectly doubled...
I'm noticing that the calculated complexity of fields is effectively doubled from what it should be. For example, the simple query
{
metadata {
version
}
}
is 4
instead of what I expect should be 2
. A
{
metadata {
version
revision
}
}
gives a complexity of 6
. So one added field that is defined to have a DEFAULT_COMPLEXITY = 1
is instead adding 2
to the overall complexity.
It seems to be due to https://gitlab.com/gitlab-org/gitlab-ce/blob/master/app/graphql/types/base_field.rb#L17-44
Noticing this on https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/10999 where we're easily surpassing a 200 complexity limit for the query in https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/10999/diffs#diff-content-87febab80701e3de0bb9ea649b65fc69585f364f