DM: Check if binlog_legacy_event_pos is set to ON on MariaDB
What problem does this PR solve?
Issue Number: close #12416
What is changed and how it works?
Check List
Tests
- Manual test (add detailed scripts or steps below)
Questions
Will it cause performance regression or break compatibility?
Do you need to update user documentation, design documentation or monitoring documentation?
Release note
A check for the correct value of `binlog_legacy_event_pos` on MariaDB was added.
Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all
[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: Once this PR has been reviewed and has the lgtm label, please assign d3hunter for approval. For more information see the Code Review Process. Please ensure that each of them provides their approval before proceeding.
The full list of commands accepted by this bot can be found here.
Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment
With:
podman run --rm --name mariadb -e MARIADB_ALLOW_EMPTY_ROOT_PASSWORD=1 -p 3306:3306 mariadb:11.8 --log-bin=mariadb-log --binlog-format=ROW
» start-task /home/dvaneeden/task-mariadb.yaml
{
"result": false,
"msg": "",
"sources": [
],
"checkResult": "[code=26005:class=dm-master:scope=internal:level=medium], Message: fail to check synchronization configuration with type: check was failed, please see detail
detail: {
"results": [
{
"id": 3,
"name": "mysql_version",
"desc": "check whether mysql version is satisfied",
"state": "warn",
"errors": [
{
"severity": "warn",
"short_error": "Migrating from MariaDB is still experimental."
}
],
"instruction": "It is recommended that you upgrade MariaDB to 10.1.2 or a later version.",
"extra": "address of db instance - 127.0.0.1:3306"
},
{
"id": 12,
"name": "mariadb_binlog_legacy_event_pos",
"desc": "check whether mariadb binlog_legacy_event_pos is ON",
"state": "fail",
"errors": [
{
"severity": "fail",
"short_error": "binlog_legacy_event_pos is OFF, and should be ON"
}
],
"instruction": "MariaDB 11.4 and newer as source: please execute 'SET GLOBAL binlog_legacy_event_pos=ON;' or update the configuration and apply the configuration",
"extra": "address of db instance - 127.0.0.1:3306"
}
],
"summary": {
"passed": false,
"total": 14,
"successful": 12,
"failed": 1,
"warning": 1
}
}"
}
»
/label MariaDB /cc @lance6716
/label skip-issue-check
@dveeden: The label(s) skip-issue-check cannot be applied. These labels are supported: MariaDB, affects-6.5, affects-7.1, affects-7.5, affects-8.1, affects-8.5, affects-9.0, bug-from-internal-test, bug-from-user, duplicate, may-affects-6.5, may-affects-7.1, may-affects-7.5, may-affects-8.1, may-affects-8.5, needs-cherry-pick-release-6.5, needs-cherry-pick-release-7.1, needs-cherry-pick-release-7.5, needs-cherry-pick-release-8.1, needs-cherry-pick-release-8.5, needs-cherry-pick-release-9.0-beta.2, nextgen, question, release-blocker, wontfix.
In response to this:
/label skip-issue-check
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 ti-community-infra/tichi repository.
@dveeden: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:
| Test name | Commit | Details | Required | Rerun command |
|---|---|---|---|---|
| pull-verify | faa69662006155370b121b4ddacc8a2c8c2d377a | link | true | /test pull-verify |
| pull-dm-integration-test | faa69662006155370b121b4ddacc8a2c8c2d377a | link | true | /test pull-dm-integration-test |
Full PR test history. Your PR dashboard.
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. I understand the commands that are listed here.
Maybe we can upgrade go-mysql to use https://github.com/go-mysql-org/go-mysql/pull/1053, instead of adding a user side requirement?
Maybe we can upgrade go-mysql to use go-mysql-org/go-mysql#1053, instead of adding a user side requirement?
I mentioned 1052 on https://github.com/pingcap/tiflow/issues/12416 which is more or less the same as the 1053 that you mentioned. If we can make that work that would be good. However until that's released and backported to old versions setting binlog_legacy_event_pos is needed. I don't see any big drawbacks of this setting, so it is probably ok in almost all cases.