Run GC.compact before forking Puma workers

Ruby 2.7 can defragment the heap on demand for a cleaner
memory layout with a larger number of free object slots.

This change runs a compaction cycle (which includes a major
GC) on the master process before forking off workers.
138 jobs for !48796 with 288042-gc-compact-before-fork in 47 minutes and 9 seconds (queued for 9 seconds)
detached
Status Job ID Name Coverage
  Sync
manual #881131207
gitlab-org allowed to fail manual
dont-interrupt-me
 
  Prepare
passed #881131212
gitlab-org
compile-production-assets

00:20:11

passed #881131214
gitlab-org
compile-test-assets

00:07:54

passed #881131216
gitlab-org
compile-test-assets as-if-foss

00:07:39

passed #881131222
gitlab-org
detect-tests

00:00:46

passed #881131224
gitlab-org
detect-tests as-if-foss

00:00:41

passed #881131226
gitlab-org
retrieve-tests-metadata

00:01:26

manual #881131219
gitlab-org allowed to fail manual
review-cleanup
passed #881131220
gitlab-org
review-stop-failed-deployment

00:01:27

passed #881131218
gitlab-org
setup-test-env

00:08:38

 
  Build Images
passed #881131233
gitlab-org
build-assets-image

00:01:51

passed #881131229
gitlab-org
build-qa-image

00:01:46

 
  Fixtures
passed #881131234
gitlab-org
rspec frontend_fixture

00:08:24

passed #881131235
gitlab-org
rspec-ee frontend_fixture 1/2

00:12:18

passed #881131236
gitlab-org
rspec-ee frontend_fixture 2/2

00:06:05

 
  Test
passed #881131275
gitlab-org
brakeman-sast

00:03:47

passed #881131272
gitlab-org-docker
code_quality

00:14:39

passed #881131562
gitlab-org
danger-review

00:03:48

passed #881131473
gitlab-org
db:check-schema

00:03:34

passed #881131281
gitlab-org-docker
dependency_scanning

00:09:08

passed #881131297
gitlab-org
downtime_check

00:02:43

passed #881131276
gitlab-org
eslint-sast

00:02:02

passed #881131564
gitlab-org
gitlab_git_test

00:00:42

passed #881131244
gitlab-org
graphql-reference-verify

00:04:00

passed #881131249
gitlab-org
jest 1/4

00:16:41

passed #881131252
gitlab-org
jest 2/4

00:15:15

passed #881131256
gitlab-org
jest 3/4

00:15:38

passed #881131259
gitlab-org
jest 4/4

00:20:24

passed #881131260
gitlab-org
jest-integration

00:03:25

passed #881131246
gitlab-org
karma

00:03:39

39.97%
passed #881131283
gitlab-org
license_scanning

00:14:18

passed #881131266
gitlab-org
memory-on-boot

00:04:43

passed #881131264
gitlab-org
memory-static

00:03:55

passed #881131277
gitlab-org
nodejs-scan-sast

00:22:24

passed #881131269
gitlab-org
qa:internal

00:01:04

passed #881131271
gitlab-org
qa:selectors

00:00:47

passed #881131554
gitlab-org
rspec fail-fast

00:05:48

passed #881131559
gitlab-org
rspec foss-impact

00:04:45

passed #881131371
gitlab-org
rspec integration pg11 1/8

00:16:46

passed #881131373
gitlab-org
rspec integration pg11 2/8

00:19:40

passed #881131375
gitlab-org
rspec integration pg11 3/8

00:18:23

passed #881131378
gitlab-org
rspec integration pg11 4/8

00:19:17

passed #881131380
gitlab-org
rspec integration pg11 5/8

00:16:40

passed #881131381
gitlab-org
rspec integration pg11 6/8

00:23:03

passed #881131384
gitlab-org
rspec integration pg11 7/8

00:18:48

passed #881131386
gitlab-org
rspec integration pg11 8/8

00:19:29

passed #881131389
gitlab-org
rspec system pg11 1/24

00:20:07

passed #881131415
gitlab-org
rspec system pg11 10/24

00:16:23

passed #881131417
gitlab-org
rspec system pg11 11/24

00:18:40

passed #881131420
gitlab-org
rspec system pg11 12/24

00:19:19

passed #881131427
gitlab-org
rspec system pg11 13/24

00:17:27

passed #881131432
gitlab-org
rspec system pg11 14/24

00:17:17

passed #881131441
gitlab-org
rspec system pg11 15/24

00:17:46

passed #881131444
gitlab-org
rspec system pg11 16/24

00:18:24

passed #881131449
gitlab-org
rspec system pg11 17/24

00:15:29

passed #881131451
gitlab-org
rspec system pg11 18/24

00:17:36

passed #881131453
gitlab-org
rspec system pg11 19/24

00:16:28

passed #881131392
gitlab-org
rspec system pg11 2/24

00:15:55

passed #881131457
gitlab-org
rspec system pg11 20/24

00:16:11

passed #881131461
gitlab-org
rspec system pg11 21/24

00:16:39

passed #881131465
gitlab-org
rspec system pg11 22/24

00:17:46

passed #881131467
gitlab-org
rspec system pg11 23/24

00:17:47

passed #881131470
gitlab-org
rspec system pg11 24/24

00:15:55

passed #881131396
gitlab-org
rspec system pg11 3/24

00:17:02

passed #881131401
gitlab-org
rspec system pg11 4/24

00:20:23

passed #881131404
gitlab-org
rspec system pg11 5/24

00:18:05

passed #881131406
gitlab-org
rspec system pg11 6/24

00:16:26

passed #881131408
gitlab-org
rspec system pg11 7/24

00:19:14

passed #881131409
gitlab-org
rspec system pg11 8/24

00:17:21

passed #881131411
gitlab-org
rspec system pg11 9/24

00:18:41

failed #881131300
gitlab-org
rspec unit pg11 1/20

00:16:12

passed #881131334
gitlab-org
rspec unit pg11 10/20

00:18:07

passed #881131338
gitlab-org
rspec unit pg11 11/20

00:21:45

passed #881131342
gitlab-org
rspec unit pg11 12/20

00:17:23

passed #881131345
gitlab-org
rspec unit pg11 13/20

00:20:56

passed #881131350
gitlab-org
rspec unit pg11 14/20

00:19:45

passed #881131354
gitlab-org
rspec unit pg11 15/20

00:19:18

passed #881131358
gitlab-org
rspec unit pg11 16/20

00:18:53

passed #881131360
gitlab-org
rspec unit pg11 17/20

00:20:40

passed #881131363
gitlab-org
rspec unit pg11 18/20

00:20:40

passed #881131367
gitlab-org
rspec unit pg11 19/20

00:22:24

passed #881131303
gitlab-org
rspec unit pg11 2/20

00:15:56

failed #881131369
gitlab-org
rspec unit pg11 20/20

00:19:03

passed #881131309
gitlab-org
rspec unit pg11 3/20

00:16:54

passed #881131313
gitlab-org
rspec unit pg11 4/20

00:16:21

passed #881131317
gitlab-org
rspec unit pg11 5/20

00:16:15

passed #881131321
gitlab-org
rspec unit pg11 6/20

00:21:11

passed #881131326
gitlab-org
rspec unit pg11 7/20

00:17:44

passed #881131328
gitlab-org
rspec unit pg11 8/20

00:19:23

passed #881131332
gitlab-org
rspec unit pg11 9/20

00:20:06

passed #881131516
gitlab-org
rspec-ee integration pg11 1/4

00:16:57

passed #881131520
gitlab-org
rspec-ee integration pg11 2/4

00:16:31

passed #881131525
gitlab-org
rspec-ee integration pg11 3/4

00:16:42

passed #881131529
gitlab-org
rspec-ee integration pg11 4/4

00:16:31

passed #881131551
gitlab-org
rspec-ee integration pg11 geo

00:09:59

passed #881131532
gitlab-org
rspec-ee system pg11 1/6

00:18:47

passed #881131535
gitlab-org
rspec-ee system pg11 2/6

00:18:11

passed #881131537
gitlab-org
rspec-ee system pg11 3/6

00:19:28

passed #881131538
gitlab-org
rspec-ee system pg11 4/6

00:21:07

passed #881131542
gitlab-org
rspec-ee system pg11 5/6

00:18:43

passed #881131547
gitlab-org
rspec-ee system pg11 6/6

00:19:36

passed #881131552
gitlab-org
rspec-ee system pg11 geo

00:11:35

passed #881131478
gitlab-org
rspec-ee unit pg11 1/10

00:22:15

passed #881131512
gitlab-org
rspec-ee unit pg11 10/10

00:20:17

passed #881131481
gitlab-org
rspec-ee unit pg11 2/10

00:20:13

passed #881131486
gitlab-org
rspec-ee unit pg11 3/10

00:20:02

passed #881131489
gitlab-org
rspec-ee unit pg11 4/10

00:20:05

passed #881131492
gitlab-org
rspec-ee unit pg11 5/10

00:18:29

passed #881131496
gitlab-org
rspec-ee unit pg11 6/10

00:23:09

passed #881131501
gitlab-org
rspec-ee unit pg11 7/10

00:19:56

passed #881131505
gitlab-org
rspec-ee unit pg11 8/10

00:18:58

passed #881131508
gitlab-org
rspec-ee unit pg11 9/10

00:19:50

passed #881131549
gitlab-org
rspec-ee unit pg11 geo 1/2

00:16:07

passed #881131550
gitlab-org
rspec-ee unit pg11 geo 2/2

00:13:40

passed #881131566
gitlab-org
run-dev-fixtures

00:05:19

passed #881131567
gitlab-org
run-dev-fixtures-ee

00:07:07

passed #881131280
gitlab-org
secrets-sast

00:03:28

passed #881131286
gitlab-org
static-analysis 1/4

00:13:32

passed #881131288
gitlab-org
static-analysis 2/4

00:09:05

passed #881131292
gitlab-org
static-analysis 3/4

00:31:21

passed #881131295
gitlab-org
static-analysis 4/4

00:08:20

passed #881131565
gitlab-org
verify-tests-yml

00:00:44

passed #881131262
gitlab-org
webpack-dev-server

00:05:09

 
  Post Test
passed #881131569
gitlab-org
coverage-frontend

00:01:56

74.65%
skipped #881131576
gitlab-org
fail-pipeline-early
passed #881131573
gitlab-org
rspec:coverage

00:04:32

94.1%
 
  Review Prepare
manual #881131578
gitlab-org allowed to fail manual
review-build-cng
 
  Review
skipped #881131580
gitlab-org allowed to fail manual
review-deploy
 
  Qa
manual #881131586
prm allowed to fail manual
package-and-qa
skipped #881131644
gitlab-org allowed to fail manual
review-performance
skipped #881131590
gitlab-org-docker allowed to fail manual
review-qa-all 1/5
skipped #881131591
gitlab-org-docker allowed to fail manual
review-qa-all 2/5
skipped #881131593
gitlab-org-docker allowed to fail manual
review-qa-all 3/5
skipped #881131637
gitlab-org-docker allowed to fail manual
review-qa-all 4/5
skipped #881131642
gitlab-org-docker allowed to fail manual
review-qa-all 5/5
skipped #881131589
gitlab-org-docker allowed to fail manual
review-qa-smoke
 
  Post Qa
skipped #881131650
gitlab-org allowed to fail manual
parallel-spec-reports
skipped #881131648
gitlab-org allowed to fail manual
review-stop
 
Name Stage Failure
failed
rspec unit pg11 20/20 Test
tmp/memory_test/: found 2 matching files and directories 
tmp/feature_flags/: found 127 matching files and directories

log/*.log: found 16 matching files and directories

Uploading artifacts as "archive" to coordinator... ok
id=881131369 responseStatus=201 Created token=osKw_RY3
Uploading artifacts...
junit_rspec.xml: found 1 matching files and directories

Uploading artifacts as "junit" to coordinator... ok
id=881131369 responseStatus=201 Created token=osKw_RY3
Cleaning up file based variables
ERROR: Job failed: exit code 1
failed
rspec unit pg11 1/20 Test
tmp/memory_test/: found 2 matching files and directories 
tmp/feature_flags/: found 102 matching files and directories

log/*.log: found 14 matching files and directories

Uploading artifacts as "archive" to coordinator... ok
id=881131300 responseStatus=201 Created token=BE59hqxj
Uploading artifacts...
junit_rspec.xml: found 1 matching files and directories

Uploading artifacts as "junit" to coordinator... ok
id=881131300 responseStatus=201 Created token=BE59hqxj
Cleaning up file based variables
ERROR: Job failed: exit code 1