Skip to content

ci: set system resource limits for PHP lang tests#3736

Merged
morrisonlevi merged 11 commits intomasterfrom
levi/fix-resources-php-language-tests
Mar 27, 2026
Merged

ci: set system resource limits for PHP lang tests#3736
morrisonlevi merged 11 commits intomasterfrom
levi/fix-resources-php-language-tests

Conversation

@morrisonlevi
Copy link
Copy Markdown
Collaborator

@morrisonlevi morrisonlevi commented Mar 26, 2026

Description

Sets the CPU and memory limits for the gitlab jobs for PHP Language Tests. Recently we had a PHP 8.2 job fail with:

Spawning 87 workers...
Warning: stream_socket_accept(): Accept failed: Connection timed out in /usr/local/src/php/run-tests.php on line 1448
ERROR: Failed to accept connection from worker.

Spawning 87 workers is happening because the job doesn't have the right QOS for resource requests to be respected, so it gets a burstable QOS. Sadly, the default is a burstable QOS. So we specifically request resources (even if they are the defaults, such as the else branch) so that we'll be assigned a guaranteed QOS.

Reviewer checklist

  • Test coverage seems ok.
  • Appropriate labels assigned.

@datadog-prod-us1-4
Copy link
Copy Markdown

datadog-prod-us1-4 Bot commented Mar 26, 2026

✅ Tests

🎉 All green!

❄️ No new flaky tests detected
🧪 All tests passed

🎯 Code Coverage (details)
Patch Coverage: 100.00%
Overall Coverage: 60.64% (-0.01%)

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: de8e710 | Docs | Datadog PR Page | Was this helpful? React with 👍/👎 or give us feedback!

@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented Mar 26, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 68.78%. Comparing base (f1af9ca) to head (de8e710).

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #3736      +/-   ##
==========================================
- Coverage   68.79%   68.78%   -0.02%     
==========================================
  Files         166      166              
  Lines       19015    19015              
  Branches     1792     1792              
==========================================
- Hits        13081    13079       -2     
- Misses       5121     5124       +3     
+ Partials      813      812       -1     
Flag Coverage Δ
helper-rust-integration 78.82% <ø> (ø)
helper-rust-unit 49.36% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.
see 1 file with indirect coverage changes


Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update f1af9ca...de8e710. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@morrisonlevi morrisonlevi marked this pull request as ready for review March 26, 2026 17:06
@morrisonlevi morrisonlevi requested a review from a team as a code owner March 26, 2026 17:06
@morrisonlevi morrisonlevi force-pushed the levi/fix-resources-php-language-tests branch 3 times, most recently from ce78d5d to 5faf65f Compare March 26, 2026 19:31
@morrisonlevi
Copy link
Copy Markdown
Collaborator Author

The QoS is still not being guaranteed for some reason. Despite this, our requested resources are more accurate and I've set -j equal to the requested CPUs, which only falls back to nproc in case it's not set somehow.

Recently we had a job fail with:

```
Spawning 87 workers...
Warning: stream_socket_accept(): Accept failed: Connection timed out in /usr/local/src/php/run-tests.php on line 1448
ERROR: Failed to accept connection from worker.
```

This is happening because the job doesn't have the right QOS for
resource requests to be respected, so it gets a burstable QOS. Sadly,
the default is a burstable QOS. So we specifically request resources
so that we'll be assigned a guaranteed QOS.
Fall back to nproc.

This is an admission of defeat. I cannot get the job to use the
guaranteed QoS despite specifying (I thought) everything the job
and dependent services would need.
@morrisonlevi morrisonlevi force-pushed the levi/fix-resources-php-language-tests branch from 5abc126 to 4654e03 Compare March 27, 2026 14:49
@morrisonlevi morrisonlevi merged commit fd1ba67 into master Mar 27, 2026
1741 of 1786 checks passed
@morrisonlevi morrisonlevi deleted the levi/fix-resources-php-language-tests branch March 27, 2026 18:29
@github-actions github-actions Bot added this to the 1.18.0 milestone Mar 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants