-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Thiago/parallel test execution #4372
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
Conversation
- Configure Maven Surefire plugin for class-level parallelization (2 threads per core) - Add JUnit Platform properties for controlled parallel execution - Preserve @testinstance(PER_CLASS) behavior within test classes - Add comprehensive PARALLEL_TESTING.md documentation Parallel execution strategy: - Test classes run in parallel (concurrent) - Tests within a class run sequentially (same_thread) - Dynamic thread pool: 2 threads per CPU core - Each fork gets 2GB memory (-Xmx2g) Expected performance improvement: 8x speedup on 4-core machines (2-3 hours → 20-30 minutes) Testcontainers with reuse=true are shared across test classes safely, with unique container IDs preventing conflicts.
- Configure Maven Surefire to use 2 parallel forks for faster test execution - Set forkCount=2 to run test classes in 2 separate JVM processes - Allocate 4GB heap per fork (2 * 4GB = 8GB total heap) - Keep reuseForks=false to prevent Quartz Scheduler conflicts - Add JUnit platform properties for class-level parallelization - Create comprehensive parallel testing documentation Configuration balances parallelism with memory constraints: - 2 forks * 4GB = 8GB heap + ~4GB overhead = 12GB total - JUnit runs test classes concurrently within each fork - Tests within a class run sequentially (preserves @testinstance PER_CLASS) - 4GB per fork should handle most test suites including large payloads Requires at least 12-16GB system RAM for stable operation. If OOM errors occur, consider reducing to forkCount=1 with -Xmx6g.
📋 PR Linter Failed❌ Invalid Title Format. Your PR title must include a ticket/issue number and may optionally include component tags (
Example: ❌ Incomplete Details Section. The ❌ Incomplete Issues Section. You must reference at least one GitHub issue ( |
Backend Tests Results 297 files 297 suites 1h 44m 55s ⏱️ For more details on these failures and errors, see this check. Results for commit 6120b55. |
- Change forkCount from 2 to 4 for higher parallelism - Requires 16GB heap (4 forks * 4GB) + ~4GB overhead = 20GB total RAM - Provides better test execution speed on systems with sufficient memory - Systems with 12GB RAM should use forkCount=2 instead
📋 PR Linter Failed❌ Invalid Title Format. Your PR title must include a ticket/issue number and may optionally include component tags (
Example: ❌ Incomplete Details Section. The ❌ Incomplete Issues Section. You must reference at least one GitHub issue ( |
Details
Change checklist
Issues
Testing
Documentation