Tests tab is very slow for large test suites

Summary

The "Tests" tab is very slow to load, and the UI looks wonky when column contents are long.

Steps to reproduce

We followed the instructions here to add test reporting to our GitLab pipeline. Our CI basically looks like this:

test_rspec:
  stage: test
  retry: 2
  parallel: 30
  script:
    - bundle exec rake "knapsack:rspec[--format RspecJunitFormatter --out rspec.xml]"
  artifacts:
    paths:
      - rspec.xml
    reports:
      junit: rspec.xml

We have approximately 27000 total tests. Loading the tests tab takes a while, then opening up and viewing the errors is slow. Finally, the column contents overlap each other.

Example Project

Here is the link to an example GitLab pipeline: https://gitlab.com/flexe/warehouser/pipelines/102447937/test_report

What is the current bug behavior?

The page is slow, and the column contents overlap.

What is the expected correct behavior?

The column contents should not overlap, and the tab should load in less than a couple seconds. In particular, it appears to be loading the results of every single test run, when all I really care to load are the test failures.

Relevant logs and/or screenshots

Screen_Shot_2019-12-11_at_4.07.26_PM

Output of checks

This bug happens on GitLab.com

Results of GitLab environment info

We are running the GitLab Kubernetes executors. We are using the helm chart gitlab/gitlab-runner, version 0.10.1.

Here's the complete config:

resource "helm_release" "gitlab-runner" {
  chart = "gitlab/gitlab-runner" # Manually aligned to the hlem repo in ../main.ft
  name = "${var.name}"
  version = "v0.10.1"

  set {
    name = "gitlabUrl"
    value = "https://gitlab.com/"
  }

  set {
    name = "runnerRegistrationToken"
    value = "${var.gitlab_runner_registration_token}"
  }

  # Helm Chart values https://gitlab.com/gitlab-org/charts/gitlab-runner/blob/master/values.yaml

  # This control the number of jobs that can run in parllel in the cluster
  # We can increase this or decrease
  set {
    name = "concurrent"
    value = "10"
  }

  set {
    name = "rbac.create"
    value = "true"
  }

  set {
    name = "runners.image"
    value = "ubuntu:18.04"
  }

  set {
    name = "runners.privileged"
    value = "true"
  }

  set {
    name = "runners.nodeSelector.purpose"
    value = "..."
  }

  set {
    name = "nodeSelector.type"
    value = "..."
  }

  set {
    name = "runners.cache.cacheType"
    value = "gcs"
  }

  set {
    name = "runners.cache.cachePath"
    value = "gitlab_runner"
  }

  set {
    name = "runners.cache.cacheShared"
    value = "true"
  }

  set {
    name = "runners.cache.gcsBucketName"
    value = "..."
  }

  set {
    name = "runners.cache.secretName"
    value = "..."
  }

  # Build Resource Request
  set {
    name = "runners.builds.cpuRequests"
    value = "1000m"
  }

  set {
    name = "runners.builds.memoryRequests"
    value = "512Mi"
  }

  # Build services resource request (docker, postgres etc)
  set {
    name = "runners.services.cpuRequests"
    value = "500m"
  }

  set {
    name = "runners.services.memoryRequests"
    value = "256Mi"
  }
}

Results of GitLab application Check

Not running from source or omnibus.

Possible fixes

N/A

Edited Dec 12, 2019 by Mark Fletcher
Assignee Loading
Time tracking Loading