[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: |
|
||||||||
| 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 Made test smaller. |
| Comment by Jan Lindström (Inactive) [ 2014-09-03 ] |
|
revno: 4276 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? |