Bug #112714 | Assertion failure: clone0api.cc:1159:ib::fatal in cloning when undo_x_trunc.log | ||
---|---|---|---|
Submitted: | 13 Oct 2023 12:45 | Modified: | 13 Oct 2023 18:11 |
Reporter: | Przemyslaw Malkowski | Email Updates: | |
Status: | Can't repeat | Impact on me: | |
Category: | MySQL Server: Clone Plugin | Severity: | S3 (Non-critical) |
Version: | 8.0.34 | OS: | Any |
Assigned to: | MySQL Verification Team | CPU Architecture: | Any |
Tags: | clone plugin |
[13 Oct 2023 12:45]
Przemyslaw Malkowski
[13 Oct 2023 13:30]
MySQL Verification Team
HI Mr. Malkowski, Thank you for your bug report. However we are not able to repeat it. We have tried clone operation and it worked just fine. We also do not have any similar log files that remained. Hence, please provide step by step instructions on how to repeat the test case. Can't repeat.
[13 Oct 2023 13:48]
Przemyslaw Malkowski
Hi MySQL Verification Team! In order to trigger the failure, the trunc.log file must be in the receiver's data directory. Please try to use the file I attached and re-try the cloning procedure. The fact that such an undo_1_trunc.log file remained in the datadir for some reason is another separate issue. I am sure you are aware that such a file can exist. Regardless of the reason, though, would you agree that the existence of such a log, should not crash the receiver? The goal of the clone procedure is to re-create the whole data directory from the donor, isn't it?
[13 Oct 2023 15:17]
Przemyslaw Malkowski
Dear MySQL Verification Team, Please find another report that should help to understand why the undo truncation logs are there on the replica's disk: https://bugs.mysql.com/bug.php?id=112717
[13 Oct 2023 15:32]
MySQL Verification Team
Hi Mr. Malkowski, We have tried many times and were unable to create that undo log file. We have then used your file in the datadir and tried clone operation, but it again worked just fine.
[13 Oct 2023 18:11]
Przemyslaw Malkowski
I am able to reproduce it on every test attempt. As long as I end up with undo_x_trunc.log files on a replica that runs with super_read_only=1, a later clone attempt leads to a crash. I do the clone command like this: slave2 [localhost:22437] {msandbox} ((none)) > set global super_read_only=0; CLONE INSTANCE FROM 'donor_clone_user'@'localhost':22435 IDENTIFIED BY 'password'; Query OK, 0 rows affected (0.00 sec) Query OK, 0 rows affected (6.16 sec) Receiver error log: 2023-10-13T18:06:28.971362Z 1 [Note] [MY-012902] [InnoDB] Undo tablespace number 1 was being truncated when mysqld quit. 2023-10-13T18:06:28.971557Z 1 [Note] [MY-013252] [InnoDB] Using undo tablespace './undo_001'. 2023-10-13T18:06:28.971640Z 1 [Note] [MY-012902] [InnoDB] Undo tablespace number 2 was being truncated when mysqld quit. 2023-10-13T18:06:28.971738Z 1 [Note] [MY-013252] [InnoDB] Using undo tablespace './undo_002'. 2023-10-13T18:06:28.972187Z 1 [Note] [MY-013040] [InnoDB] Will create 2 new undo tablespaces. ... 2023-10-13T18:06:29.027993Z 1 [ERROR] [MY-011976] [InnoDB] [FATAL] Clone File Roll Forward: Invalid File State: 10 2023-10-13T18:06:29.028005Z 1 [ERROR] [MY-013183] [InnoDB] Assertion failure: clone0api.cc:1109:ib::fatal triggered thread 139932532709120