Skip to content

workaround xtrabackup error with old_alter_table#8317

Closed
deepthi wants to merge 1 commit intovitessio:mainfrom
planetscale:ds-fix-8315
Closed

workaround xtrabackup error with old_alter_table#8317
deepthi wants to merge 1 commit intovitessio:mainfrom
planetscale:ds-fix-8315

Conversation

@deepthi
Copy link
Collaborator

@deepthi deepthi commented Jun 11, 2021

Description

Some of the xtrabackup tests have been flaky for a while. Today @vmg was able to extract the actual error from a failing test.
This seems to be a known issue with a documented workaround. Implementing the workaround.
https://www.percona.com/blog/2017/08/08/avoiding-the-an-optimized-without-redo-logging-ddloperation-has-been-performed-error-with-percona-xtrabackup/

The blog post has 3 suggestions:

  • --lock-ddl : only works with Percona MySQL server, we are running community MySQL server in CI
  • --lock-ddl-per-table: did not fix the problem
  • old_alter_table: 🤞

Related Issue(s)

Fixes #8315

Checklist

  • Tests were added or are not required
  • Documentation was added or is not required

Deployment Notes

@deepthi deepthi requested review from aquarapid, systay and vmg June 11, 2021 20:53
@deepthi deepthi force-pushed the ds-fix-8315 branch 2 times, most recently from 700a7a6 to a2de4f7 Compare June 11, 2021 22:04
@deepthi deepthi changed the title run xtrabackup with --lock-ddl-per-table workaround xtrabackup error with old-alter-table Jun 11, 2021
@deepthi deepthi changed the title workaround xtrabackup error with old-alter-table workaround xtrabackup error with old_alter_table Jun 11, 2021
@deepthi deepthi requested review from a team and removed request for askdba and shlomi-noach June 11, 2021 22:29
Signed-off-by: deepthi <deepthi@planetscale.com>
Copy link
Contributor

@aquarapid aquarapid left a comment

Choose a reason for hiding this comment

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

Copy link
Collaborator

@systay systay left a comment

Choose a reason for hiding this comment

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

Lets make sure this should not go into an earlier branch first

@shlomi-noach
Copy link
Contributor

Noting that enabling --old_alter_table effectively disables concurrent DML on table while ALTER TABLE takes place. We do happen to offer Online DDL in vitess, but users who will run direct ALTER TABLE and with ALGORITHM=INPLACE LOCK=NONE may be surprised by this change of behavior.

@vmg
Copy link
Collaborator

vmg commented Jun 14, 2021

@shlomi-noach afaict this change of behavior is only on the end-to-end tests and doesn't apply to normal production usage.

@shlomi-noach
Copy link
Contributor

this change of behavior is only on the end-to-end tests

Ah, then please just ignore me.

@shlomi-noach
Copy link
Contributor

Gonna resubmit these changes into release-9.0

@shlomi-noach
Copy link
Contributor

Resubmitted against release-9.0: #8340

@systay systay closed this Jun 15, 2021
@systay
Copy link
Collaborator

systay commented Jun 15, 2021

Closing so we don't accidentally hit that big green button

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

broken test: xtrabackup TestRecovery

5 participants