[MDEV-6682] innodb.innodb_simulate_comp_failures_small is too slow if it's run on a real disk Created: 2014-09-02  Updated: 2020-10-06  Resolved: 2014-09-03

Status: Closed
Project: MariaDB Server
Component/s: None
Affects Version/s: 5.5.39, 10.0.13
Fix Version/s: 5.5.40, 10.0.14

Type: Bug Priority: Major
Reporter: Elena Stepanova Assignee: Jan Lindström (Inactive)
Resolution: Fixed Votes: 0
Labels: tests

Issue Links:
Relates
relates to MDEV-14900 Upstream 10.4 debian patches Closed

 Description   

We have a report from otto that innodb.innodb_simulate_comp_failures_small fails reliably in his installation due to the timeout; also, it fails on some buildbot platforms: bld-dan-debug, bld-dan-release, bintar-rhel7-p8-debug, bintar-rhel7-p8.

I tried to run it on a non-virtual machine without --mem, and got the same issue.

The problem is that individual INSERTs are performed too slowly. We need to modify either the test itself, or its options not to flush after every commit.



 Comments   
Comment by Jan Lindström (Inactive) [ 2014-09-02 ]

Hmm, I can decrease the number of inserts done, not really sure if durability level change would help always.

Comment by Jan Lindström (Inactive) [ 2014-09-02 ]

revno: 4365
committer: Jan Lindström <jplindst@mariadb.org>
branch nick: 10.0-innodb
timestamp: Tue 2014-09-02 17:50:09 +0300
message:
MDEV-6682 innodb.innodb_simulate_comp_failures_small is too slow
if it's run on a real disk

Made test smaller.

Comment by Jan Lindström (Inactive) [ 2014-09-03 ]

revno: 4276
committer: Jan Lindström <jplindst@mariadb.org>
branch nick: 5.5
timestamp: Wed 2014-09-03 07:37:13 +0300
message:
MDEV-6682 innodb.innodb_simulate_comp_failures_small is too slow
if it's run on a real disk

Made test smaller.

Comment by Kristian Nielsen [ 2014-09-03 ]

Generally, there seems to be little point in running tests with --innodb-flush-log-at-trx-commit=1 rather than =2, unless one is specifically testing the --innodb-flush-log-at-trx-commit option.

--innodb-flush-log-at-trx-commit=1 is extremely expensive, as it requires an fsync() for every transaction (even multiple if binlog is enabled). But the effect of an fsync() is completely invisible to an application, it only makes a difference if the OS kernel crashes. So it seems wasteful.

(This problem is not specific to innodb.innodb_simulate_comp_failures_small, but it's particularly relevant here since that test does 1000 individual small transactions, IIRC)

Comment by Otto Kekäläinen [ 2020-10-06 ]

jplindst It seems you never added `--innodb-flush-log-at-trx-commit=2` to this test upstream. Thus we are still carrying this patch downstream in Debian: https://salsa.debian.org/mariadb-team/mariadb-10.5/-/tree/master/debian/patches

Do you plan to include that line as Kristian also suggested?

Generated at Thu Feb 08 07:13:48 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.