Skip to content

fix: drop retry_of for RP 26 implicit retry grouping - #18

Merged
silvi-t merged 1 commit into
Kuadrant:mainfrom
silvi-t:fix-reruns
Aug 26, 2026
Merged

fix: drop retry_of for RP 26 implicit retry grouping#18
silvi-t merged 1 commit into
Kuadrant:mainfrom
silvi-t:fix-reruns

Conversation

@silvi-t

@silvi-t silvi-t commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Summary

Fix broken retry display in Report Portal v26.0.3. After upgrading from RP v25.2, retried tests appeared as duplicate entries instead of being grouped under a single test with retries.

Root Cause

RP 26.0.3 removed the handle_retry SQL function and moved retry handling to application-level code (reportportal/migrations#413). The new implicit mode groups retries by matching uniqueId and parentId automatically.

The old approach used explicit retry_of=original_id to chain retries back to the first attempt. This broke in RP 26 because:

  1. First retry arrives → RP demotes the original (sets its retry_of)
  2. Second retry arrives with retry_of=original_id → original is already demoted (retry_of IS NOT NULL), so RP falls back to implicit mode
  3. The mix of explicit and implicit grouping produced inconsistent results — some retries merged, others appeared as standalone entries

Changes

  • Removed retry_of parameter from all start_test_case calls in _create_failed_attempts
  • Removed original_id tracking (no longer needed)
  • Final test item uses retry=case_result.reruns > 0 without retry_of
  • RP 26 now handles all grouping implicitly via uniqueId + parentId matching

Summary by CodeRabbit

  • Bug Fixes
    • Improved handling of test reruns in ReportPortal.
    • The initial failed attempt and subsequent retries are now grouped correctly.
    • Final test results are marked consistently when reruns occur.

Signed-off-by: Silvia Tarabova <starabov@redhat.com>
@coderabbitai

coderabbitai Bot commented Aug 25, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: b8e942b1-103e-43c3-b309-2a8b779bdff8

📥 Commits

Reviewing files that changed from the base of the PR and between 11776e5 and 47dadfa.

📒 Files selected for processing (1)
  • src/reportportal/writer.py

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

Rerun handling now uses ReportPortal 26 implicit grouping by uniqueId and parentId. Failed attempts use retry=False, later attempts use retry=True, and final attempts receive only a boolean retry flag.

Changes

Retry grouping

Layer / File(s) Summary
Rerun retry flow
src/reportportal/writer.py
_create_failed_attempts no longer returns an item identifier or passes retry_of. Rerun processing uses ReportPortal 26 retry flags and preserves rerun timing. Final attempts use a boolean retry flag when reruns exist.

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk: ⚪ Minimal · up to 47dad

This change switches retry grouping to Report Portal's implicit behavior and removes explicit retry linkage. No actionable merge-blocking risk remains; the PR is merge-ready after normal checks and review.

Poem

A rabbit checks the retry trail
Failed hops group without a tie
The first wears retry=False
Later hops wear retry=True
No item link is passed along
ReportPortal groups them by and by

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: removing retry_of to use ReportPortal 26 implicit retry grouping.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 1 files.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@silvi-t silvi-t self-assigned this Aug 26, 2026
@silvi-t silvi-t added this to Kuadrant Aug 26, 2026
@silvi-t silvi-t moved this to Ready For Review in Kuadrant Aug 26, 2026
@silvi-t
silvi-t merged commit d10fbc5 into Kuadrant:main Aug 26, 2026
4 checks passed
@github-project-automation github-project-automation Bot moved this from Ready For Review to Done in Kuadrant Aug 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants