-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
Tests fail on 1-core VM #37276
Comments
cc @westonpace |
It seems |
Also @bmwiedemann could you give a link to the full test logs? |
Ok, so these are the same errors that can be reproduced locally as described above. |
Both tests assume a multi-threaded environment without checking the actual threading capacity. Given that they intend to check the behavior of multi-threaded execution, I think they should be skipped if there is only one thread available: if (internal::GetCpuThreadPool()->GetCapacity() < 2) {
GTEST_SKIP() << "Test requires at least 2 threads";
} The above patch works on my machine. Should I submit a PR for this? @pitrou |
In principle you can run multiple threads on a single CPU through the kernel scheduling one part after another. But that might already be covered in a different test, then skipping should be fine. |
True. These two tests use the default capacity which is infered with this logic. We can also force them to use a custom threadpool with multiple threads, which will need some refactoring. I"m not sure if it"s worth it though. |
Probably not. It"s interesting that no public CI platform seems to provide single-CPU VMs then. |
### Rationale for this change Some tests assume a multi-threaded environment without checking the actual threading capacity. Given that they intend to check the behavior of multi-threaded execution, they should be skipped if there is only one thread available. ### What changes are included in this PR? `SegmentedAggregationWithMultiThreading` and `InvalidRowsSkippedAsync` are skipped if there is only one thread available in the default ThreadPool. ### Are these changes tested? Tested on my local machine. Unfortunately there is no single core CI pipeline avaible. ### Are there any user-facing changes? No. * Closes: #37276 Authored-by: Jin Shang <[email protected]> Signed-off-by: Antoine Pitrou <[email protected]>
…ache#37327) ### Rationale for this change Some tests assume a multi-threaded environment without checking the actual threading capacity. Given that they intend to check the behavior of multi-threaded execution, they should be skipped if there is only one thread available. ### What changes are included in this PR? `SegmentedAggregationWithMultiThreading` and `InvalidRowsSkippedAsync` are skipped if there is only one thread available in the default ThreadPool. ### Are these changes tested? Tested on my local machine. Unfortunately there is no single core CI pipeline avaible. ### Are there any user-facing changes? No. * Closes: apache#37276 Authored-by: Jin Shang <[email protected]> Signed-off-by: Antoine Pitrou <[email protected]>
Describe the bug, including details regarding any error messages, version, and platform.
While working on reproducible builds for openSUSE, I found that
our
apache-arrow-12.0.1
package failed tests when run on a 1-core VM:Here is an extract from the log:
Steps to reproduce on Debian or openSUSE:
Component(s)
C++, Other
The text was updated successfully, but these errors were encountered: