cloud-fan commented on code in PR #56137:
URL: https://github.com/apache/spark/pull/56137#discussion_r3310658184


##########
dev/merge_spark_pr.py:
##########
@@ -1260,11 +1260,30 @@ def main():
 
     if asf_jira is not None:
         jira_ids = re.findall("SPARK-[0-9]{4,5}", title)
+        # Epic / Umbrella tickets group related work and must not be resolved 
by a single PR.
+        # Collect every offender so the committer sees the full list in one 
shot rather than
+        # discovering them one-by-one across repeated merge attempts.
+        blocking_issue_types = {"Epic", "Umbrella"}
+        blockers = []
         for jira_id in jira_ids:
             try:
-                print_jira_issue_summary(asf_jira.issue(jira_id))
+                issue = asf_jira.issue(jira_id)
             except Exception:
                 print_error("Unable to fetch summary of %s" % jira_id)
+                continue
+            print_jira_issue_summary(issue)
+            issuetype = issue.fields.issuetype.name
+            if issuetype in blocking_issue_types:
+                blockers.append((jira_id, issuetype))

Review Comment:
   The issue type collected here is discarded — `ids_str` only uses the JIRA 
ID. Two cleaner options:
   
   - Drop the tuple if you don't need the type:
     ```python
             blockers.append(jira_id)
     ...
     ids_str = ", ".join(blockers)
     ```
   
   - Or surface the type in the error so the committer can see at a glance 
which IDs are Epic vs. Umbrella:
     ```python
     ids_str = ", ".join("%s (%s)" % (jid, t) for jid, t in blockers)
     ```
     producing `Linked JIRA(s) SPARK-1234 (Umbrella), SPARK-5678 (Epic) are 
umbrella or epic tickets...`



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to