Skip to content

gh-ost

Relational Databases

GitHub's Online Schema-migration Tool for MySQL

Go Latest v1.1.10 · 1mo ago Security brief →

Features

  • Triggerless online schema migration for MySQL using the binary log stream
  • Test migrations on replicas before applying to master
  • True pause capability that ceases writes on the master during throttling

Recent releases

View all 3 releases →
Config change
v1.1.10 Bug fix
Auth

Throttle block fix

v1.1.9 Bug fix
Notable features
  • Add retry logic for instant DDL on lock wait timeout up to `--default-retries`
  • Add `GH_OST_INSTANT_DDL` environment variable to gh-ost-on-success hook
Full changelog

GA release v1.1.9 is a small release with some bug fixes. We are aiming to make smaller releases more regularly.
Thanks to all the contributors!

What's Changed

  • Add retry logic for instant DDL on lock wait timeout by @yosefbs in https://github.com/github/gh-ost/pull/1651
  • Retry attempt InstantDDL up to --default-retries by @meiji163 in https://github.com/github/gh-ost/pull/1667
    • When --attempt-instant-ddl is enabled, it will retry on lock wait timeout up to --default-retries times. Retries are necessary in high-concurrency environments with metadata lock contention
  • Fix handling of warnings on DML batches by @ggilder in https://github.com/github/gh-ost/pull/1643
    • Previously --panic-on-warnings only detected SQL warnings for the last DML in each batch. Now it is guaranteed to detect all warnings.
  • Update golangci-lint to v2.11 by @meiji163 in https://github.com/github/gh-ost/pull/1657
    • Error messages have been lower-cased. Please be aware if you are parsing error logs.
  • Add GH_OST_INSTANT_DDL for gh-ost-on-success hook by @meiji163 in https://github.com/github/gh-ost/pull/1658
    • GH_OST_INSTANT_DDL environment variable is available on the success hook script to indicate whether InstantDDL succeeded or not.
  • Replace usage of Fatale with context cancellation by @ggilder in https://github.com/github/gh-ost/pull/1639
  • Improve tests for various error scenarios by @ggilder in https://github.com/github/gh-ost/pull/1642
  • Fix rm permission errors in local tests by @grodowski in https://github.com/github/gh-ost/pull/1644
  • Fix abort/retry interaction by @ggilder in https://github.com/github/gh-ost/pull/1655
  • Fix Warning 1300 for varbinary columns with bytes invalid as utf8mb4 by @ggilder in https://github.com/github/gh-ost/pull/1661
  • Prevent race condition on cutover completion by @jakubpliszka in https://github.com/github/gh-ost/pull/1664
  • Prevent permanent worker deadlock when cutover times out waiting for binlog sentinel by @VarunChandola in https://github.com/github/gh-ost/pull/1637
  • Upgrade to go1.25.9 by @meiji163 in https://github.com/github/gh-ost/pull/1668

New Contributors

  • @yosefbs made their first contribution in https://github.com/github/gh-ost/pull/1651
  • @jakubpliszka made their first contribution in https://github.com/github/gh-ost/pull/1664
  • @VarunChandola made their first contribution in https://github.com/github/gh-ost/pull/1637
  • @dnovitski made their first contribution in https://github.com/github/gh-ost/pull/1666

Full Changelog: https://github.com/github/gh-ost/compare/v1.1.8...v1.1.9

v1.1.8 Breaking risk
Notable features
  • GTID support for binlog streaming
  • Migration checkpoints and resume capability
  • Trigger support for migrations

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

About

Stars
13,460
Forks
1,400
Languages
Go Shell

Community & Support

Alternative to

pt-online-schema-change

Beta — feedback welcome: [email protected]