Reject explicit generations after auto generation on the same communicator#7369
Reject explicit generations after auto generation on the same communicator#7369iemAnshuman wants to merge 3 commits into
Conversation
Signed-off-by: iemAnshuman <asquare567@gmail.com>
Signed-off-by: iemAnshuman <asquare567@gmail.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
🚧 Files skipped from review as they are similar to previous changes (2)
📝 WalkthroughSummary by CodeRabbit
WalkthroughThe change documents and enforces generation-mode ordering for hierarchical communicators. Communicators retain whether auto-generation was used, reject later explicit generations with ChangesGeneration Mode Enforcement
Estimated code review effort: 3 (Moderate) | ~20 minutes Suggested labels: Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
Can one of the admins verify this patch? |
Up to standards ✅🟢 Issues
|
|
@hkaiser One note on storing I prefer keeping the owned string here for three reasons:
I know the pointer form was intentional for flat/literal basenames and keeps the ctor Alternatives I considered and would rather not take in this PR:
Happy to adjust if I’m missing a reason the hierarchical |
Signed-off-by: iemAnshuman <asquare567@gmail.com>
Fixes #
Proposed Changes
generation_argvalues withbad_parameter, so callers cannot guess a generation after the internal counter has advanced unobservably.char const*.Any background context you want to provide?
After an auto/default generation advances the and-gate, the caller no longer knows a reliable next explicit generation: too small previously threw from deep in the gate, too large could hang. This change rejects that transition at the communicator boundary with a clear error.
Checklist
Not all points below apply to all pull requests.