pt-online-schema-change resume functionality doesn't work with ADD/DROP column

Description

When trying the option --resume during an ADD/DROP operation pt-online-schema-change fails not recognizing the existing column.

We have created a test case for reproducing the failure:

Once the data is inserted we run and interrupt (via ctrl+c) the following command:

And then tried to resume Job id = 1

History table doesn’t show anything interesting:

Seems that 2nd run is not checking the previous job properly.

Environment

None

Activity

Show:

Sveta Smirnova 2 days ago

version 3.7.1 is in progress. But you don’t have to wait it: just grab recent version of pt-online-schema-change from GitHub at https://raw.githubusercontent.com/percona/percona-toolkit/refs/heads/3.x/bin/pt-online-schema-change and use it.

Kunal Vallecha (Engineering - Central) 5 days ago

When is version 3.7.1 releasing?

Kunal Vallecha (Engineering - Central) February 27, 2025 at 7:10 AM

What is the ETA for fixing the bug?

Perry Harrington January 25, 2025 at 12:31 AM

LOL, found a bug in my patch, missing parens around the test caused a boolean to be assigned if resume wasn’t used

Perry Harrington January 23, 2025 at 9:20 PM

We are using pt-osc and ran into this error. The problem is on line 9806, adding the new column to the _new table is unconditional, which is incorrect when resuming a migration. Here is my fix, it doesn’t have guardrails if the _new table wasn’t already modified, but pt-osc will fail below that anyway, so…

Done

Details

Assignee

Reporter

Priority

Components

Affects versions

Fix versions

Needs QA

Yes

Smart Checklist

Created October 8, 2024 at 12:43 PM
Updated 2 days ago
Resolved March 13, 2025 at 8:00 PM