Bug #94689 | MySQL Instance restarts | ||
---|---|---|---|
Submitted: | 18 Mar 2019 11:32 | Modified: | 8 Apr 2019 13:14 |
Reporter: | Jan Eschweiler | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server | Severity: | S2 (Serious) |
Version: | 5.7.25 | OS: | Debian (8.11) |
Assigned to: | CPU Architecture: | Any |
[18 Mar 2019 11:32]
Jan Eschweiler
[18 Mar 2019 11:34]
Jan Eschweiler
Moved to critical, because MySQL has a downtime with this error
[18 Mar 2019 14:19]
MySQL Verification Team
Hi, Thank you for your bug report. Let me explain to you, in short terms, what is happening. You are performing an INSERT in an InnoDB table that does not have a small number of rows. Then, a row is inserted successfully, although it should not have been the case. Simply, a failure was expected again, but it did not happen. We can not know why has this occurred. Hence, we need a fully repeatable test case, so that we can reproduce that error. What we need is a full dump of the table that gets those INSERTs. A dump should include CREATE TABLE statement, with as many INSERTs as necessary, including the one that produces this assert. Then, when we get that error ourselves, then we will be able to verify this bug. Many thanks in advance.
[18 Mar 2019 14:27]
MySQL Verification Team
Hi, We do have some further info for you. The assert() does not happen during an INSERT command. The assert happens when you run a SELECT which requires the use of the large temporary disk table. Hence, it would be nice if you would find that SELECT that leads to the assert. Here is some further info, that might help you avoid the problem. This seems to happen when a SELECT uses innodb intrinsic table. It seems the function btr_cur_pessimistic_insert returns an error of some kind, that is not expected. btr_cur_pessimistic_insert might return errors: o) error from btr_cur_ins_lock_and_undo (DB_WAIT_LOCK for example). o) DB_OUT_OF_FILE_SPACE o) DB_TOO_BIG_RECORD Anyway, please try a workaround to prevent crash :: [mysqld] internal-tmp-disk-storage-engine=MyISAM That would essentially solve your problem.
[8 Apr 2019 6:06]
Jan Eschweiler
The workaround solves our issue: [mysqld] internal-tmp-disk-storage-engine=MyISAM Cheers Jan
[8 Apr 2019 13:14]
MySQL Verification Team
Thank you for your feedback.
[5 Oct 2020 12:25]
MySQL Verification Team
Hi , We do not process reports on the products that are not ours.