Fix concurrent LP exception cleanup#1206
Conversation
|
/ok to test 2af4f87 |
2af4f87 to
4969003
Compare
Join concurrent solver worker threads before rethrowing exceptions so std::thread destructors do not terminate the process. Add a deterministic regression test that exercises a PDLP validation error after concurrent workers start. Co-authored-by: Codex <codex@openai.com>
4969003 to
b806ca3
Compare
|
/ok to test b806ca3 |
|
ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughIn ChangesConcurrent Exception Handling
🎯 3 (Moderate) | ⏱️ ~20 minutes 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Tip 💬 Introducing Slack Agent: The best way for teams to turn conversations into code.Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.
Built for teams:
One agent for your entire SDLC. Right inside Slack. Comment |
|
/merge |
PR NVIDIA#1206 (Fix concurrent LP exception cleanup) landed on main while this branch already renamed cuopt::mps_parser -> cuopt::linear_programming::io. The merge auto-resolved the file but the two parser references added by NVIDIA#1206 in the new test (concurrent_pdlp_exception_joins_worker_threads) kept the old namespace. Rename them to match the rest of the file. Signed-off-by: Ramakrishna Prabhu <ramakrishnap@nvidia.com>
Join concurrent solver worker threads before rethrowing exceptions so std::thread destructors do not terminate the process. Add a deterministic regression test that exercises a PDLP validation error after concurrent workers start.
Prevents some core dumps and gives a more useful error message for the test_incumbent_callbacks flaky test failure.
Old failure:
New failure: