Skip to content

Commit 419de6e

Browse files
committed
ORC-2108: Add connection timeout to JIRA client to prevent hanging and enable retries
### What changes were proposed in this pull request? This PR aims to add a generic connection and read timeout parameter timeout=(3.05, 30) to the `jira.client.JIRA()` initializations in the dev/ scripts: - `create_orc_jira.py` - `merge_orc_pr.py` ### Why are the changes needed? By default, the requests library (used by the jira python package) can hang indefinitely when attempting to establish a connection if the server is unresponsive. Setting a short connection timeout of 3.05 seconds (slightly larger than a standard 3-second TCP packet retransmission window) ensures that the client will quickly fail the connection attempt and properly trigger its internal retry logic, rather than stalling the entire script. The 30-second read timeout allows sufficient time for normal API responses once the connection is successfully established. ### How was this patch tested? Manual tests. ### Was this patch authored or co-authored using generative AI tooling? Generated-by: `Gemini 3.1 Pro (High)` on `Antigravity` Closes #2552 from dongjoon-hyun/ORC-2108. Authored-by: Dongjoon Hyun <dongjoon@apache.org> Signed-off-by: Dongjoon Hyun <dongjoon@apache.org>
1 parent ff8c7d8 commit 419de6e

2 files changed

Lines changed: 4 additions & 2 deletions

File tree

dev/create_orc_jira.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,8 @@ def run_cmd(cmd):
5353
def create_jira_issue(title, parent_jira_id=None, issue_type=None):
5454
asf_jira = jira.client.JIRA(
5555
{"server": JIRA_API_BASE},
56-
token_auth=JIRA_ACCESS_TOKEN
56+
token_auth=JIRA_ACCESS_TOKEN,
57+
timeout=(3.05, 30)
5758
)
5859

5960
versions = asf_jira.project_versions("ORC")

dev/merge_orc_pr.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,8 @@ def fix_version_from_branch(branch, versions):
249249
def resolve_jira_issue(merge_branches, comment, default_jira_id=""):
250250
asf_jira = jira.client.JIRA(
251251
{"server": JIRA_API_BASE},
252-
token_auth=JIRA_ACCESS_TOKEN
252+
token_auth=JIRA_ACCESS_TOKEN,
253+
timeout=(3.05, 30)
253254
)
254255

255256
jira_id = input("Enter a JIRA id [%s]: " % default_jira_id)

0 commit comments

Comments
 (0)