Skip to content

fix: retry only transient webhook failures#23357

Merged
ti-chi-bot[bot] merged 1 commit into
pingcap:masterfrom
qiancai:fix-webhook-retry
Jul 26, 2026
Merged

fix: retry only transient webhook failures#23357
ti-chi-bot[bot] merged 1 commit into
pingcap:masterfrom
qiancai:fix-webhook-retry

Conversation

@qiancai

@qiancai qiancai commented Jul 26, 2026

Copy link
Copy Markdown
Collaborator

What is changed, added or deleted? (Required)

Replace the webhook's manual retry loop with curl's transient-error retry behavior. This change:

  • retries timeouts, connection refusals, rate limits, and transient server errors
  • stops retrying permanent HTTP client errors
  • preserves the existing attempt count, delay, and per-request timeouts

Which TiDB version(s) do your changes apply to? (Required)

Tips for choosing the affected version(s):

By default, CHOOSE MASTER ONLY so your changes will be applied to the next TiDB major or minor releases. If your PR involves a product feature behavior change or a compatibility change, CHOOSE THE AFFECTED RELEASE BRANCH(ES) AND MASTER.

For details, see tips for choosing the affected versions.

  • master (the latest development version)
  • v9.0 (TiDB 9.0 versions)
  • v8.5 (TiDB 8.5 versions)
  • v8.1 (TiDB 8.1 versions)
  • v7.5 (TiDB 7.5 versions)
  • v7.1 (TiDB 7.1 versions)
  • v6.5 (TiDB 6.5 versions)

What is the related PR or file link(s)?

AI agent involvement

  • The changes in this PR were primarily made by an AI agent on behalf of the PR author.

Do your changes match any of the following descriptions?

  • Delete files
  • Change aliases
  • Need modification after applied to another branch
  • Might cause conflicts after applied to another branch

Summary by CodeRabbit

  • Chores
    • Improved the reliability of automated issue notification delivery.
    • Notifications now retry transient connection failures more consistently and report unsuccessful requests more clearly.
    • Existing request content and timeout behavior remain unchanged.

@ti-chi-bot ti-chi-bot Bot added missing-translation-status This PR does not have translation status info. size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Jul 26, 2026
@coderabbitai

coderabbitai Bot commented Jul 26, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 3a9185de-ddda-4b24-b477-1abda0eb5029

📥 Commits

Reviewing files that changed from the base of the PR and between 7cdba03 and b708150.

📒 Files selected for processing (1)
  • .github/workflows/bot.yaml

📝 Walkthrough

Walkthrough

The bot workflow replaces a manual three-attempt webhook retry loop with curl’s built-in retry, connection-refused handling, delay, and failure-reporting options while preserving the request payload, headers, URL, and timeout settings.

Changes

Webhook delivery

Layer / File(s) Summary
Configure webhook retries
.github/workflows/bot.yaml
The issue notification webhook uses curl-managed retries and --fail-with-body instead of shell-controlled retry messaging, sleeping, and exit handling.

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

Possibly related PRs

  • pingcap/docs#23356: Modifies the same workflow webhook step to adjust delivery retry behavior.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly matches the main change: switching webhook retries to curl's transient-failure handling.
Description check ✅ Passed The description covers the required sections, target version, references, and AI involvement, so it is mostly complete.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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.

@qiancai qiancai self-assigned this Jul 26, 2026
@qiancai qiancai added the translation/no-need No need to translate this PR. label Jul 26, 2026
@qiancai

qiancai commented Jul 26, 2026

Copy link
Copy Markdown
Collaborator Author

/approve

@qiancai qiancai added the lgtm label Jul 26, 2026
@ti-chi-bot ti-chi-bot Bot removed the missing-translation-status This PR does not have translation status info. label Jul 26, 2026
@ti-chi-bot

ti-chi-bot Bot commented Jul 26, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: qiancai

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@ti-chi-bot ti-chi-bot Bot added the approved label Jul 26, 2026
@ti-chi-bot
ti-chi-bot Bot merged commit 6d6658f into pingcap:master Jul 26, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved lgtm size/M Denotes a PR that changes 30-99 lines, ignoring generated files. translation/no-need No need to translate this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant