-
Notifications
You must be signed in to change notification settings - Fork 4k
GH-49184: [CI] AMD64 macOS 15-intel Python 3 consistently times out #49189
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
|
|
We need to change the diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml
index bc7fe3cd68..e9db71a8c7 100644
--- a/.github/workflows/python.yml
+++ b/.github/workflows/python.yml
@@ -142,7 +142,7 @@ jobs:
name: ${{ matrix.architecture }} macOS ${{ matrix.macos-version }} Python 3
runs-on: macos-${{ matrix.macos-version }}
if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
- timeout-minutes: 60
+ timeout-minutes: 75
strategy:
fail-fast: false
matrix: |
92520c5 to
d9590d8
Compare
|
Thanks, @kou! Updated. |
|
BTW, can we speed up macOS jobs...? It seems that tests were finished in about 5min on Linux: https://github.com/apache/arrow/actions/runs/21831237516/job/62989873777#step:6:6707 But tests were finished in about 30min on macOS: https://github.com/apache/arrow/actions/runs/21831237516/job/62989873535#step:10:541 Have you profiled tests on macOS? |
|
@kou speeding up jobs would be best, indeed! I've been checking Build and why I see just around 7 successful completions in February (Perhaps using I will check Test phase and profiling options next. For now I've added "--durations=20 -v" on pytest Locally on M1 I get pytest finished in 86.44s (0:01:26) and the following test duration for comparison: |
|
ARM64 macOS 14 Python 3 shows deterioration For ARM64 macOS 14 Python 3 durations didn't print yet as it got cancelled at [ 99%] this time within the new 75m timeout setting. I will try to run once more with 90m timeout setting. |
|
AMD64 macOS 15-intel Python 3 finally succeeds in 1h 16m 47s |
https://github.com/apache/arrow/actions/runs/21868873981/job/63117751343?pr=49189#step:10:8522 Skipping large memory tests for 15-intel and purely coincidental ccache hit got macOS 15-intel job runtime from 76 minutes down to 32 minutes!
--> Is skipping large memory tests only for macOS 15-intel and keeping on ARM macOS 14 something that can accepted for now to get CI to pass? |
| PYARROW_TEST_LARGE_MEMORY: ${{ matrix.large-memory-tests }} | ||
| PYTEST_ARGS: "--durations=40 -v" | ||
| # Current oldest supported version according to https://endoflife.date/macos | ||
| MACOSX_DEPLOYMENT_TARGET: 12.0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps we should bump this to 14? Since it's the oldest not EOL yet.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tried setting MACOSX_DEPLOYMENT_TARGET: 14.0 and having large memory tests reenabled for macOS 15-intel but there isn't any timing improvement for either macOS.
15-intel is back to being cancelled at 60m while it's at 91% of the longest test_pandas.py
https://github.com/apache/arrow/actions/runs/21907459012/job/63251481075?pr=49189#step:10:248
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I suppose disabling large-memory-tests is best for now then.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, back to the previous fix - disabling large memory tests on 15-intel which take more than two thirds of test time there.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@raulcd should we bump MACOSX_DEPLOYMENT_TARGETs?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am pretty sure I've seen this conversation popping up somewhere else but I can't find where.
I think it's reasonable, we did update it 1.5 years ago here but I think it's time to upgrade:
6db12f2
Probably worth opening an issue and tracking this individually also to give visibility to the issue in case there are any concerns.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Opened an issue #49246
raulcd
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @tadeja for tackling this!
.github/workflows/python.yml
Outdated
| ARROW_BUILD_TESTS: OFF | ||
| PYARROW_TEST_LARGE_MEMORY: ON | ||
| PYARROW_TEST_LARGE_MEMORY: ${{ matrix.large-memory-tests }} | ||
| PYTEST_ARGS: "--durations=40" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe we could add the duration output to more jobs as an improvement so we can act if we start finding some really slow tests 🤔. This would be a different issue though.
|
Tests are still taking around 30 minutes to pass on macOS. If the problem is memory bound due to GitHub runners limitations there's not much we could do. I think we should merge this so we fix CI but maybe we should open a different issues to keep investigating whether there's something we could do about that. Example, has someone with a macOS with "normal" specs (not GitHub runner) validate whether tests are that slow there? |
|
Thank you, @raulcd. I don't have 14 or 15 but locally on M1 26 with one worker, without parallelism for |
On one hand that sounds awesome, on the other hand and looking at the specs for the GH runners, specifically for the macos-15-intel, 14GB of RAM should be more than enough: |
rok
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Glad to see these tests speed up! I think this is good to merge.
We should probably look at sccache in a separate effort as we seem to be doing a lot of early cache evictions.
Rationale for this change
Recent CI checks failing with the job
AMD64 macOS 15-intel Python 3being cancelled at 60 minutes.The job has exceeded the maximum execution time of 1h0m0sWhat changes are included in this PR?
Temporary timeout increase from 60 to 75 minutes for macOS Python 3 jobs (both ARM64 and Intel jobs as these have common setting.)
Are these changes tested?
To be tested on CI.
Are there any user-facing changes?
No.