Skip to content

Conversation

@meiji163
Copy link
Contributor

@meiji163 meiji163 commented Oct 8, 2025

Description

This PR extracts the sysbench localtest from #1584 so we can use it for debugging elsewhere. It is useful for testing gh-ost locally under heavier & more complex write workload.

The test is skipped unless sysbench binary is in your PATH.

In case this PR introduced Go code changes:

  • contributed code is using same conventions as original code
  • script/cibuild returns with no formatting errors, build errors or unit test errors.

@meiji163 meiji163 marked this pull request as ready for review October 8, 2025 19:26
Copilot AI review requested due to automatic review settings October 8, 2025 19:26
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR adds a new sysbench localtest to enable testing gh-ost under heavier write workloads. The test is extracted from another PR for reusability in debugging scenarios.

  • Adds sysbench test functionality that can be skipped if sysbench binary is not available
  • Refactors hardcoded table names to use variables for flexibility
  • Installs sysbench in the CI environment to support the new test

Reviewed Changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

File Description
localtests/test.sh Adds sysbench test logic, variables for table names, and cleanup functionality
localtests/sysbench/create.sql Creates sysbench test directory with table structure documentation
.github/workflows/replica-tests.yml Installs sysbench package in CI environment

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

mhamza15
mhamza15 previously approved these changes Oct 8, 2025
@meiji163 meiji163 merged commit 9258cbe into master Oct 8, 2025
8 checks passed
meiji163 added a commit that referenced this pull request Oct 10, 2025
* add sysbench localtest

* fix table name

* Apply suggestion from @Copilot

Co-authored-by: Copilot <[email protected]>

* ensure cleanup

---------

Co-authored-by: Copilot <[email protected]>
meiji163 added a commit that referenced this pull request Oct 10, 2025
…ly (#1594)

* Panic if InitiateHeartbeat exhausts retries to avoid looping infinitely.

Based on experience, if the writer database fails inbeetween the copy & cutover stages (e.g. during cutover pause), the heartbeat writes will fail and stop,
then leading to throttled state and an infinite loop of throttler.shouldThrottle().

Since this state is irrecoverable, make the heartbeat writer panic if retries are exhausted, so that the migration can fail and be restarted later.

* Add sysbench localtest (#1590)

* add sysbench localtest

* fix table name

* Apply suggestion from @Copilot

Co-authored-by: Copilot <[email protected]>

* ensure cleanup

---------

Co-authored-by: Copilot <[email protected]>

* add toxiproxy option for localtests (#1591)

---------

Co-authored-by: Jan Grodowski <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants