Group Level Customizable Dashboards causing GraphQL issue

Problem to solve

Describe your question in as much detail as possible:

So I’m trying to build out custom dashboards at the group level for my instance of Gitlab.

We’re running EE version 16.8 on-prem and setup a project for use in the groups Analytics Dashboards
I also enabled the following feature flags in the rails console

  • combined_analytics_dashboards
  • combined_analytics_dashboards_editor
  • combined_analytics_visualization_editor

However when I go to the Analytics Dashboard I get presented with

“Response not successful: Received status code 500”.

I can still see the Value Streams Dashboard from Gitlab but nothing else.
I checked the request and its failing on a request to the GraphQL api.
So I plugged the payload into Graphql Explorer and sure enough, returns an Internal Server Error.
Looking at the code, I noticed that both Project.customizableDashboards & Group.customizableDashboards are deprecated and appear to be removed from the class. Given that the documentation relating to this mentions that this is Experimental but did appear to go into GA in version 16.7, I would believe that either

a. The query was broken in 16.8 and was updated in a later version
b. There’s something wrong with the GraphQL service that’s specific to our instance
c. something else entirely

The payload is below:

query getAllCusomizableDashboards(
  $fullPath: ID!
  $isGroup: Boolean = false
  $isProject: Boolean = false
) {
  project(fullPath: $fullPath) @include(if: $isProject) {
    id
    customizableDashboards {
      ...CustomizableDashboardsFragment
      __typename
    }
    __typename
  }
  group(fullPath: $fullPath) @include(if: $isGroup) {
    id
    customizableDashboards {
      ...CustomizableDashboardsFragment
      __typename
    }
    __typename
  }
}

fragment CustomizableDashboardsFragment on CustomizableDashboardConnection {
  nodes {
    slug
    title
    description
    userDefined
    __typename
  }
  __typename
}

Versions

Please select whether options apply, and add the version information.

Versions

System information
System:         RedHatEnterpriseServer 7.9
Proxy:          no
Current User:   git
Using RVM:      no
Ruby Version:   3.1.4p223
Gem Version:    3.4.22
Bundler Version:2.5.4
Rake Version:   13.0.6
Redis Version:  7.0.15
Sidekiq Version:7.1.6
Go Version:     unknown

GitLab information
Version:        16.8.1-ee
Revision:       1242b447720
Directory:      /opt/gitlab/embedded/service/gitlab-rails
DB Adapter:     PostgreSQL
DB Version:     13.12
Elasticsearch:  no
Geo:            yes
Geo node:       Primary
Using LDAP:     yes
Using Omniauth: yes
Omniauth Providers:

GitLab Shell
Version:        14.33.0
Repository storages:
- default:      unix:/var/opt/gitlab/gitaly/gitaly.socket
GitLab Shell path:              /opt/gitlab/embedded/service/gitlab-shell

Hi there
Interesting issue
1 - can you re-verify the flags?
Feature.enabled?(:combined_analytics_dashboards)
Feature.enabled?(:combined_analytics_dashboards_editor)
Feature.enabled?(:combined_analytics_visualization_editor)

2 - anything in production.log or graphql.log? /var/log/gitlab

3 - some graphql features have been deprecated, maybe it’s because of that?

:facepunch:

  1. Yup all enabled in rails console
  2. Actually it appears there’s a file not found error in production_json.log when making the call for a json_schema. Thats likely whats causing it. No idea how to fix that though
"No such file or directory @ rb_check_realpath_internal - ee/app/validators/json_schemas/analytics_visualization.json"

Never mind I found the file. I think its likely permissions related if its claiming it can’t find the file or the path doesn’t exist

1 Like