Skip to content

session,txn: support file-based transaction (txn file) for large transactions - #70468

Merged
ti-chi-bot[bot] merged 21 commits into
pingcap:masterfrom
pingyu:txn-file
Aug 26, 2026
Merged

ti-chi-bot[bot] merged 21 commits into
pingcap:masterfrom
pingyu:txn-file

Conversation

@pingyu

@pingyu pingyu commented Aug 12, 2026 •

Copy link
Copy Markdown
Contributor

What problem does this PR solve?

Issue Number: close #70467

Problem Summary:

Large transactions are expensive in TiDB today: all mutations are buffered in TiDB memory and then prewritten/committed to TiKV through normal 2PC, which puts heavy cost and load on TiKV for big transactions (>= 16 MiB), forcing tight transaction size limits. Bulk-load / backfill-style workloads that naturally produce huge write batches cannot be expressed as a single atomic transaction.

This PR supports file-based transactions (txn file) on the TiDB side, building on the client-side support merged in tikv/client-go#1119. For transactions whose mutation size reaches a configurable threshold, mutations are built into chunks on an external chunk writer and ingested into TiKV, instead of being kept in memory and prewritten directly.

What changed and how does it work?

  • Bump tikv/client-go to a revision that includes the file-based transaction implementation (tikv/client-go#1119).

  • Add system variables to control the feature:

    • tidb_enable_txn_file (global/session, default OFF): switch to enable file-based transactions.
    • tidb_txn_file_min_mutation_size (global/session, default 0, i.e. follow the client-go default; must be 0 or >= 1 MiB): the minimum mutation size for a transaction to use the file-based path.
  • Wire the variables into session KV variables so they are passed down to the client-go transaction options; transactions at or above the threshold go through the txn-file path, smaller transactions behave exactly as today.

  • Add real-tikv starter tests under tests/realtikvtest/startertest covering txn-file semantics, conflict behavior, and metrics, together with a docker-compose based runner (tests/realtikvtest/startertest/docker-compose) that brings up PD/TiKV/tikv-worker and a starter server with a txn chunk writer for the tests.

  • Depends on *: update kvproto and adapt keyspace fields #69942

Check List

Tests

  • Unit test
  • Integration test
  • Manual test (add detailed scripts or steps below)
  • No need to test
    • I checked and no code files have been changed.

Side effects

  • Performance regression: Consumes more CPU
  • Performance regression: Consumes more Memory
  • Breaking backward compatibility

Documentation

  • Affects user behaviors
  • Contains syntax changes
  • Contains variable changes
  • Contains experimental features
  • Changes MySQL compatibility

Release note

Please refer to Release Notes Language Style Guide to write a quality release note.

Support file-based transactions (txn file) for large transactions. Transactions whose mutation size reaches the threshold set by `tidb_txn_file_min_mutation_size` are committed through the file-based path to reduce TiKV prewrite cost, and the feature can be turned off with `tidb_disable_txn_file`.

Summary by CodeRabbit

  • New Features

    • Added session and global settings to disable transaction files and configure the minimum mutation size.
    • Added validation requiring mutation-size thresholds to be zero or at least 1 MiB.
    • Added support for configuring transaction-file chunk writing in starter test environments.
  • Documentation

    • Added setup, usage, troubleshooting, and configuration guidance for the Docker Compose transaction-file test environment.
  • Tests

    • Added end-to-end coverage for transaction-file commits, conflicts, metrics, regional operations, and failure diagnostics.

pingyu and others added 12 commits August 11, 2026 15:29
Signed-off-by: Ping Yu <yuping@pingcap.com>
Signed-off-by: Ping Yu <yuping@pingcap.com>
Signed-off-by: Ping Yu <yuping@pingcap.com>
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Signed-off-by: Ping Yu <yuping@pingcap.com>
@ti-chi-bot ti-chi-bot Bot added release-note Denotes a PR that will be considered when it comes time to generate release notes. do-not-merge/needs-triage-completed size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. labels Aug 12, 2026
@coderabbitai

coderabbitai Bot commented Aug 12, 2026 •

Copy link
Copy Markdown

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: dab3fe82-4d8b-4eb6-81e4-8a8f550c2f51

📥 Commits

Reviewing files that changed from the base of the PR and between f418267 and 8e94184.

📒 Files selected for processing (1)
  • pkg/sessionctx/variable/sysvar_test.go
🚧 Files skipped from review as they are similar to previous changes (1)
  • pkg/sessionctx/variable/sysvar_test.go

Included review availability: Your plan includes up to 10 reviews per rolling hour; 9 remain after this review.


📝 Walkthrough

Walkthrough

The change adds transaction-file system variables and validation, refreshes Go dependencies, and adds a Docker Compose starter environment. The environment builds and runs TiDB, TiKV, PD, MinIO, and transaction-file integration tests.

Changes

Transaction-file support

Layer / File(s) Summary
Dependency version refresh
DEPS.bzl, go.mod
Updates pinned KVProto, TiKV client, PD client, gRPC, and golang.org/x dependency versions and checksums.
Transaction-file system variables
pkg/sessionctx/vardef/tidb_vars.go, pkg/sessionctx/variable/sysvar.go, pkg/sessionctx/variable/sysvar_test.go
Adds variables for disabling transaction files and setting the minimum mutation size. Session propagation, defaults, minimum validation, and invalid-value handling are tested.
Starter environment and orchestration
tests/realtikvtest/scripts/next-gen/*, tests/realtikvtest/startertest/BUILD.bazel, tests/realtikvtest/startertest/docker-compose/*
Adds the Docker image, TiDB/TiKV/PD/MinIO configuration, bootstrap scripts, Compose runner, readiness checks, diagnostics, cleanup, and workflow documentation.
Transaction-file integration validation
tests/realtikvtest/startertest/txn_file_*.go, tests/realtikvtest/startertest/docker-compose/run_test.sh
Tests multi-chunk commits across regions, transaction-file metrics, conflicting writes, rollback results, pessimistic locks, and runner failure diagnostics.

Estimated code review effort: 4 (Complex) | ~60 minutes

Merge Risk: ⚪ Minimal · up to 8e941

This change adds configurable file-based transaction handling for large transactions while preserving the existing path for smaller transactions; no actionable merge-blocking risk remains beyond normal checks and review.

Sequence Diagram(s)

sequenceDiagram
  participant DockerComposeRunner
  participant MinIO
  participant PD
  participant TiKVCluster
  participant TiDB
  participant StarterTests
  DockerComposeRunner->>MinIO: Start and initialize the bucket
  DockerComposeRunner->>PD: Start and create the startertest keyspace
  DockerComposeRunner->>TiKVCluster: Start three TiKV nodes and the worker
  DockerComposeRunner->>TiDB: Build, bootstrap, and activate TiDB
  StarterTests->>TiDB: Run transaction-file integration tests
  DockerComposeRunner->>StarterTests: Capture results and collect diagnostics
Loading

Possibly related PRs

Poem

A rabbit hops through chunks so wide,
With TiDB and TiKV side by side.
MinIO stores, while tests run bright,
Conflicts roll back with metrics in sight.
Compose wakes the whole stack anew—
“Hop hop!” says Bun: the checks pass through.

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Linked Issues check ⚠️ Warning The changes add controls and tests, but show no TiDB transaction-layer wiring for path selection, chunk-writer mapping, fallback, accounting, or observability required by #70467. Add or link the transaction-layer implementation that selects txn-file mode, maps production chunk-writer settings, preserves fallback and accounting behavior, and exposes required metrics.
Docstring Coverage ⚠️ Warning Docstring coverage is 9.46% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (3 passed)
Check name Status Explanation
Out of Scope Changes check ✅ Passed The dependency updates, system variables, integration tests, Docker Compose infrastructure, and documentation support the file-based transaction objectives.
Title check ✅ Passed The title clearly summarizes the main change: adding file-based transaction support for large transactions. It uses the repository's package-prefix format and is concise.
Description check ✅ Passed The description follows the required template. It includes the issue number, problem summary, implementation details, test checklist, side effects, documentation impact, and a release note. The descri…
Full details: Description check

Explanation

The description follows the required template. It includes the issue number, problem summary, implementation details, test checklist, side effects, documentation impact, and a release note. The description should correct the inconsistent variable name: the changes add tidb_disable_txn_file, not tidb_enable_txn_file.

✨ 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.

@pingyu
pingyu marked this pull request as draft August 12, 2026 13:01
@ti-chi-bot ti-chi-bot Bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Aug 12, 2026
@pingyu
pingyu marked this pull request as ready for review August 12, 2026 13:01
@ti-chi-bot ti-chi-bot Bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Aug 12, 2026
@pingyu

pingyu commented Aug 12, 2026

Copy link
Copy Markdown
Contributor Author

/hold

@ti-chi-bot ti-chi-bot Bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Aug 12, 2026
@codecov

codecov Bot commented Aug 12, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 20.40816% with 39 lines in your changes missing coverage. Please review.
✅ Project coverage is 74.5304%. Comparing base (0419c93) to head (9fbc7fc).
⚠️ Report is 7 commits behind head on master.

Additional details and impacted files
@@               Coverage Diff                @@
##             master     #70468        +/-   ##
================================================
- Coverage   76.3195%   74.5304%   -1.7892%     
================================================
  Files          2041       2103        +62     
  Lines        557578     586111     +28533     
================================================
+ Hits         425541     436831     +11290     
- Misses       131137     147457     +16320     
- Partials        900       1823       +923     
Flag Coverage Δ
integration 44.2628% <20.4081%> (+4.5941%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Components Coverage Δ
dumpling 58.6514% <ø> (ø)
parser ∅ <ø> (∅)
br 63.5658% <ø> (+0.8567%) ⬆️
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@coderabbitai coderabbitai 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.

Actionable comments posted: 4

🧹 Nitpick comments (1)
tests/realtikvtest/startertest/txn_file_test.go (1)

136-151: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Decouple the region scan from the positional column layout.

queryTxnFileRegionIDs scans 13 columns and discards 10 through var ignored [10]any. Read the required columns by name with rows.Columns() and scan all returned columns into a dynamically sized destination. This prevents added columns from causing a column-count mismatch.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@tests/realtikvtest/startertest/txn_file_test.go` around lines 136 - 151,
Update queryTxnFileRegionIDs to obtain column names via rows.Columns(), locate
region_id, start_key, and end_key by name, and scan every returned column into a
dynamically sized destination. Remove the fixed ignored array and positional
13-column assumptions while preserving the existing ID assignment logic.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@pkg/dxf/importinto/conflictedkv/collector_test.go`:
- Line 120: Update the codec initialization in GetCodec to handle the error
returned by tikv.NewCodecV2 instead of discarding it. If creation fails, panic
with a contextual error that preserves the underlying failure; otherwise
continue returning the successfully initialized codec.

In `@tests/realtikvtest/startertest/docker-compose/README.md`:
- Around line 111-115: Replace the incomplete fenced shell command in the
exit-trap documentation with prose describing the project-scoped cleanup, or
provide the full executable docker compose command including its project
configuration. Update the statement that currently claims the trap runs the
command exactly, keeping the cleanup options unchanged.

In `@tests/realtikvtest/startertest/docker-compose/run.sh`:
- Around line 166-175: Update the exit_code handling in wait_completed so only a
non-empty numeric value equal to 0 returns success; treat empty or non-numeric
values from docker inspect as failures, while preserving the existing nonzero
exit-code error path.

In `@tests/realtikvtest/startertest/txn_file_conflict_test.go`:
- Around line 1-30: Regenerate and commit Bazel metadata with make
bazel_prepare. In tests/realtikvtest/startertest/BUILD.bazel, ensure
txn_file_test.go, txn_file_conflict_test.go, and txn_file_metrics_test.go are
listed and prometheus/client_model plus prometheus/common dependencies are
declared; in pkg/sessionctx/variable/BUILD.bazel, update metadata for
TestTxnFileSysVars and the current shard/test count.

---

Nitpick comments:
In `@tests/realtikvtest/startertest/txn_file_test.go`:
- Around line 136-151: Update queryTxnFileRegionIDs to obtain column names via
rows.Columns(), locate region_id, start_key, and end_key by name, and scan every
returned column into a dynamically sized destination. Remove the fixed ignored
array and positional 13-column assumptions while preserving the existing ID
assignment logic.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: a7eb9ba2-5883-4d70-a45c-a712362e6e1a

📥 Commits

Reviewing files that changed from the base of the PR and between d5f9ca5 and f3a1cee.

⛔ Files ignored due to path filters (1)
  • go.sum is excluded by !**/*.sum
📒 Files selected for processing (66)
  • DEPS.bzl
  • br/pkg/restore/split/split_test.go
  • br/pkg/rtree/rtree_test.go
  • br/pkg/task/meta_service_group_test.go
  • br/pkg/task/operator/crr_checkpoint_test.go
  • br/pkg/task/restore_nokit_test.go
  • go.mod
  • lightning/pkg/importer/meta_service_group_test.go
  • pkg/autoid_service/autoid.go
  • pkg/autoid_service/autoid_test.go
  • pkg/ddl/label/rule_test.go
  • pkg/domain/crossks/cross_ks_test.go
  • pkg/domain/infosync/label_manager_test.go
  • pkg/dxf/importinto/collect_conflicts_internal_test.go
  • pkg/dxf/importinto/conflictedkv/collector_test.go
  • pkg/dxf/importinto/conflictedkv/deleter_test.go
  • pkg/dxf/importinto/job_testkit_test.go
  • pkg/executor/importer/meta_service_group_test.go
  • pkg/executor/infoschema_reader.go
  • pkg/executor/infoschema_reader_keyspace_test.go
  • pkg/executor/sample_test.go
  • pkg/executor/test/infoschema/infoschema_test.go
  • pkg/extworkload/client/client.go
  • pkg/extworkload/manager_test.go
  • pkg/ingestor/ingestctrl/duplicate_test.go
  • pkg/meta/autoid/autoid_service.go
  • pkg/metaservice/etcd_test.go
  • pkg/server/handler/tests/dxf_test.go
  • pkg/session/bootstrap_test.go
  • pkg/session/session_test.go
  • pkg/session/starter_bootstrap_file_test.go
  • pkg/sessionctx/vardef/tidb_vars.go
  • pkg/sessionctx/variable/sysvar.go
  • pkg/sessionctx/variable/sysvar_test.go
  • pkg/store/etcd_test.go
  • pkg/store/gcworker/gc_worker_test.go
  • pkg/store/helper/helper_test.go
  • pkg/store/mockstore/mockcopr/executor_test.go
  • pkg/store/mockstore/mockstore.go
  • pkg/store/mockstore/unistore/cophandler/cop_handler.go
  • pkg/store/mockstore/unistore/cophandler/mpp.go
  • pkg/store/mockstore/unistore/cophandler/mpp_exec.go
  • pkg/store/mockstore/unistore/pd.go
  • pkg/store/mockstore/unistore/pd_test.go
  • pkg/tablecodec/tablecodec_test.go
  • pkg/testkit/mockstore.go
  • tests/realtikvtest/scripts/next-gen/README.md
  • tests/realtikvtest/scripts/next-gen/run-starter-tests-with-server.sh
  • tests/realtikvtest/startertest/BUILD.bazel
  • tests/realtikvtest/startertest/docker-compose/Dockerfile.test
  • tests/realtikvtest/startertest/docker-compose/Dockerfile.test.dockerignore
  • tests/realtikvtest/startertest/docker-compose/README.md
  • tests/realtikvtest/startertest/docker-compose/bootstrap/bootstrap-system.sh
  • tests/realtikvtest/startertest/docker-compose/bootstrap/create-keyspace.sh
  • tests/realtikvtest/startertest/docker-compose/bootstrap/init-minio.sh
  • tests/realtikvtest/startertest/docker-compose/configs/pd.toml
  • tests/realtikvtest/startertest/docker-compose/configs/starter.toml
  • tests/realtikvtest/startertest/docker-compose/configs/tikv-1.toml
  • tests/realtikvtest/startertest/docker-compose/configs/tikv-2.toml
  • tests/realtikvtest/startertest/docker-compose/configs/tikv-3.toml
  • tests/realtikvtest/startertest/docker-compose/configs/tikv-worker.toml
  • tests/realtikvtest/startertest/docker-compose/docker-compose.yml
  • tests/realtikvtest/startertest/docker-compose/run.sh
  • tests/realtikvtest/startertest/txn_file_conflict_test.go
  • tests/realtikvtest/startertest/txn_file_metrics_test.go
  • tests/realtikvtest/startertest/txn_file_test.go

Comment thread pkg/dxf/importinto/conflictedkv/collector_test.go
Comment thread tests/realtikvtest/startertest/docker-compose/README.md Outdated
Comment thread tests/realtikvtest/startertest/docker-compose/run.sh
Comment thread tests/realtikvtest/startertest/txn_file_conflict_test.go
pingyu added 2 commits August 12, 2026 23:36
Signed-off-by: Ping Yu <yuping@pingcap.com>
Signed-off-by: Ping Yu <yuping@pingcap.com>
Signed-off-by: Ping Yu <yuping@pingcap.com>
@pingyu pingyu changed the title session, txn: support file-based transaction (txn file) for large transactions session,txn: support file-based transaction (txn file) for large transactions Aug 14, 2026
Signed-off-by: Ping Yu <yuping@pingcap.com>

# Conflicts:
#	DEPS.bzl
#	go.mod
#	go.sum
#	pkg/dxf/importinto/conflictedkv/collector_test.go
#	pkg/extworkload/client/client.go
Comment thread pkg/sessionctx/variable/sysvar.go Outdated
}, GetGlobal: func(_ context.Context, _ *SessionVars) (string, error) {
return BoolToOnOff(vardef.EnableConnectionEventLog.Load()), nil
}},
{Scope: vardef.ScopeGlobal | vardef.ScopeSession, Name: vardef.TiDBDisableTxnFile, Value: BoolToOnOff(vardef.DefTiDBDisableTxnFile), Type: vardef.TypeBool, SetSession: func(s *SessionVars, val string) error {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Could we use the positive form tidb_enable_txn_file instead? tidb_disable_txn_file=OFF is a double negative and means txn-file is allowed by default once the chunk writer is configured. Is this default-on behavior intentional? If explicit opt-in is preferred for this experimental feature, consider tidb_enable_txn_file=OFF; otherwise, tidb_enable_txn_file=ON preserves the current behavior with clearer semantics.

@pingyu pingyu Aug 20, 2026 •

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

tidb_disable_txn_file is necessary to compat with existing customers using Essential v1.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@pingyu Could you explain a little bit more on how it is necessary?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Essential v1 (TiDB-CSE) is using tidb_disable_txn_file currently. So if we change the variable, it will be difficult to upgrade to TiDB nextgen.

}

func enableTxnFileSession(ctx context.Context, conn *sql.Conn) error {
statement := "SET SESSION tidb_txn_mode='optimistic', SESSION tidb_txn_assertion_level='OFF', SESSION tidb_disable_txn_file=OFF, SESSION tidb_txn_file_min_mutation_size=1048576"

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

These two settings appear to be required for txn-file, rather than test-only setup: client-go rejects pessimistic transactions and mutations carrying strict assertions, while NextGen defaults to pessimistic DML and STRICT assertions. As a result, ordinary UPDATE/DELETE transactions using the default settings will not take the txn-file path even after reaching the threshold. Please either support the default transaction settings or explicitly document the limitation and cover the default behavior.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Mutations carrying strict assertions will be supported in next client-go PR.

Comment thread go.mod Outdated
github.com/stretchr/testify v1.11.1
github.com/tiancaiamao/appdash v0.0.0-20181126055449-889f96f722a2
github.com/tikv/client-go/v2 v2.0.8-0.20260807103401-b75f6efa8ddd
github.com/tikv/client-go/v2 v2.0.8-0.20260811081704-86fe4e58c8a7

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Once txn-file is selected, KVTxn.Commit returns executeTxnFile errors directly; the dependency still has a TODO for falling back when tikv-worker is unavailable. Chunk uploads are retried, but if those retries are exhausted during buildTxnFiles, the transaction fails without trying normal 2PC even though txn-file prewrite has not started. Since #70467 lists fallback as required, is this intentionally deferred? If so, please track and document the limitation; otherwise, could we add a safe fallback for failures before txn-file prewrite?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Fallback to normal 2PC when tikv-worker is unavailable will be supported in next client-go PR.

mkdir -p /opt/tidb/bin && \
mv bin/tidb-server /opt/tidb/bin/tidb-server && \
mv /tmp/startertest.test /opt/tidb/bin/startertest.test && \
git rev-parse HEAD > /opt/tidb/source-commit && \

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This build fails from a linked worktree: .git is a file containing an absolute host gitdir, so after COPY . ., git rev-parse points to a path that does not exist in the build container. Could run.sh pass the commit/status as build arguments or regular files instead, and exclude .git/.wt from the build context?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Fixed by 2832247

Signed-off-by: Ping Yu <yuping@pingcap.com>
@pingyu

pingyu commented Aug 20, 2026

Copy link
Copy Markdown
Contributor Author

/retest

@ti-chi-bot

ti-chi-bot Bot commented Aug 21, 2026

Copy link
Copy Markdown

@wfxr: adding LGTM is restricted to approvers and reviewers in OWNERS files.

Details

In response to this:

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@bb7133

bb7133 commented Aug 21, 2026

Copy link
Copy Markdown
Member

The changes LGTM except tidb_disable_txn_file.

@bb7133 bb7133 left a comment

Copy link
Copy Markdown
Member

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 needs-1-more-lgtm Indicates a PR needs 1 more LGTM. label Aug 21, 2026
@ChangRui-Ryan

Copy link
Copy Markdown
Contributor

/retest

pingyu added 2 commits August 25, 2026 17:37
Signed-off-by: Ping Yu <yuping@pingcap.com>

# Conflicts:
#	DEPS.bzl
#	go.mod
#	go.sum
Signed-off-by: Ping Yu <yuping@pingcap.com>
@pingyu

pingyu commented Aug 26, 2026

Copy link
Copy Markdown
Contributor Author

/retest

1 similar comment
@wfxr

wfxr commented Aug 26, 2026

Copy link
Copy Markdown
Member

/retest

@yudongusa yudongusa 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.

Please also include this in the document PR

@ti-chi-bot ti-chi-bot Bot added approved lgtm and removed needs-1-more-lgtm Indicates a PR needs 1 more LGTM. labels Aug 26, 2026
@ti-chi-bot

ti-chi-bot Bot commented Aug 26, 2026

Copy link
Copy Markdown

[LGTM Timeline notifier]

Timeline:

  • 2026-08-21 14:52:20.926281578 +0000 UTC m=+254176.097375691: ☑️ agreed by bb7133.
  • 2026-08-26 11:15:45.094155887 +0000 UTC m=+673180.265250021: ☑️ agreed by yudongusa.

@pingyu

pingyu commented Aug 26, 2026

Copy link
Copy Markdown
Contributor Author

/retest

Signed-off-by: Ping Yu <yuping@pingcap.com>
@ti-chi-bot ti-chi-bot Bot removed the approved label Aug 26, 2026
@pingyu

pingyu commented Aug 26, 2026

Copy link
Copy Markdown
Contributor Author

/test pull-br-integration-test

@pingyu

pingyu commented Aug 26, 2026

Copy link
Copy Markdown
Contributor Author

/retest

@ti-chi-bot

ti-chi-bot Bot commented Aug 26, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: bb7133, v01dstar, wfxr, yudongusa

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 Aug 26, 2026
@ti-chi-bot
ti-chi-bot Bot merged commit 1f94699 into pingcap:master Aug 26, 2026
35 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved lgtm release-note Denotes a PR that will be considered when it comes time to generate release notes. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support file-based transaction (txn file) for large transactions

6 participants