Skip to content

fix(pipelines/tiflash): always skip fail-point-tests on release-6.5 - #4852

Merged
ti-chi-bot[bot] merged 1 commit into
mainfrom
fix/tiflash-r65-skip-failpoint-tests
Jul 29, 2026
Merged

fix(pipelines/tiflash): always skip fail-point-tests on release-6.5#4852
ti-chi-bot[bot] merged 1 commit into
mainfrom
fix/tiflash-r65-skip-failpoint-tests

Conversation

@kumailf

@kumailf kumailf commented Jul 29, 2026

Copy link
Copy Markdown
Collaborator

Summary

Follow-up after #4849 / #4850.

tidb-ci/cluster.yaml on release-6.5 uses qa/tidb:...-failpoint. The previous logic only skipped fail-point-tests when the failpoint image pull failed. OCI still has tidb-server:release-6.5-failpoint, so pull succeeds, but the image does not expose enableTestAPI:

Error: get fail/github.com/pingcap/tidb/server/enableTestAPI

Change

  • Always fall back TIDB_FAILPOINT_IMAGE → regular release-6.5 TiDB image
  • Always strip ./run-test.sh tidb-ci/fail-point-tests && from run.sh
  • Other suites (fullstack-test, async_grpc, collation, …) still run

Test plan

OCI still has tidb-server:release-6.5-failpoint, so pull succeeds and the
previous fallback never ran. The image does not expose enableTestAPI, so
tidb-ci/fail-point-tests fail. Always use regular TiDB image and skip those
suites; keep fullstack and other cases.

@ti-chi-bot ti-chi-bot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have already done a preliminary review for you, and I hope to help you do a better job.

Summary
This PR fixes integration test failures on the release-6.5 pipeline for TiFlash by always skipping fail-point-tests regardless of whether the failpoint image pull succeeds. The approach replaces a conditional fallback (based on image pull failure) with an unconditional fallback to the regular TiDB image and strips fail-point-tests from the run script unconditionally. The change is targeted, minimal, and improves stability of the pipeline by preventing errors caused by the failpoint image lacking the enableTestAPI. The patch is clear and straightforward.


Critical Issues

None found.


Code Improvements

  • Reduce Redundant Image Pull
    Currently, the patch still attempts to docker pull "${TIDB_FAILPOINT_IMAGE}" before falling back. Since the failpoint image is always unusable on release-6.5, consider skipping the pull altogether to save time and network resources. For example:

    # Skip pulling failpoint image on release-6.5 as it is unusable
    echo "WARN: skipping pull of failpoint image on release-6.5; using regular TiDB image"
    TIDB_FAILPOINT_IMAGE="${TIDB_IMAGE}"
  • Improve Sed Pattern Robustness
    The sed command removes the exact prefix string:

    sed -i -e 's#./run-test.sh tidb-ci/fail-point-tests && ##g' ./run.sh

    Consider anchoring or making it more precise to avoid accidental removals if the command appears elsewhere unexpectedly. For example, restrict to lines starting with that prefix:

    sed -i -e '/^\.\/run-test.sh tidb-ci\/fail-point-tests && /s#^\.\/run-test.sh tidb-ci/fail-point-tests && ##' ./run.sh
  • Add Comments or Logs Explaining Why Fail-Point Tests Are Skipped
    In the script, add a comment or log message that clearly states the rationale to aid future maintainers:

    echo "WARN: skipping fail-point-tests because release-6.5 failpoint image lacks enableTestAPI support"

Best Practices

  • Add a Comment Block Explaining the Entire Fallback Logic
    At the top of the pipeline stage or script section, add a brief comment describing the fallback rationale and the known issue with the failpoint images on release-6.5. This improves maintainability.

  • Testing & Verification
    The PR description mentions manual testing steps. Once merged, consider adding an automated check or test to verify that fail-point-tests are indeed skipped on release-6.5 to prevent regressions.

  • Style / Readability
    The indentation of the if block inside the pipeline is inconsistent in the diff. Ensure consistent indentation for readability.


Summary of Suggested Code Change

-# release-6.5: OCI may still publish a :failpoint tag, but it does not expose
-# enableTestAPI (fail-point-tests fail on curl_tidb get fail/.../enableTestAPI).
-# Always use the regular TiDB image and skip suites that need real failpoints.
-timeout 300 docker pull "${TIDB_FAILPOINT_IMAGE}" || true
-echo "WARN: release-6.5 TiDB failpoint image is not usable for IT; falling back to ${TIDB_IMAGE}"
-TIDB_FAILPOINT_IMAGE="${TIDB_IMAGE}"
-if [ -f ./run.sh ] && grep -q 'tidb-ci/fail-point-tests' ./run.sh; then
-    echo "WARN: skipping tidb-ci/fail-point-tests"
-    sed -i -e 's#./run-test.sh tidb-ci/fail-point-tests && ##g' ./run.sh
-fi
+ # release-6.5: failpoint images are unusable because they lack enableTestAPI.
+ # Skip pulling failpoint image to save time and fall back unconditionally.
+ echo "WARN: skipping pull of failpoint image on release-6.5; using regular TiDB image"
+ TIDB_FAILPOINT_IMAGE="${TIDB_IMAGE}"
+
+ if [ -f ./run.sh ] && grep -q 'tidb-ci/fail-point-tests' ./run.sh; then
+     echo "WARN: skipping tidb-ci/fail-point-tests because failpoint image lacks enableTestAPI"
+     sed -i -e '/^\.\/run-test.sh tidb-ci\/fail-point-tests && /s#^\.\/run-test.sh tidb-ci/fail-point-tests && ##' ./run.sh
+ fi

This change improves clarity, performance, and safety.

@dillon-zheng dillon-zheng left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@ti-chi-bot ti-chi-bot Bot added the lgtm label Jul 29, 2026
@ti-chi-bot

ti-chi-bot Bot commented Jul 29, 2026

Copy link
Copy Markdown

[LGTM Timeline notifier]

Timeline:

  • 2026-07-29 07:51:17.040440889 +0000 UTC m=+1996063.076535935: ☑️ agreed by dillon-zheng.

@ti-chi-bot

ti-chi-bot Bot commented Jul 29, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: dillon-zheng

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 29, 2026
@ti-chi-bot
ti-chi-bot Bot merged commit d3c2472 into main Jul 29, 2026
7 checks passed
@ti-chi-bot
ti-chi-bot Bot deleted the fix/tiflash-r65-skip-failpoint-tests branch July 29, 2026 07:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: ✅ Done

Development

Successfully merging this pull request may close these issues.

2 participants