Details
Description
main.join_cache 'xtradb' w15 [ fail ]
|
Test ended at 2017-01-03 17:17:43
|
|
CURRENT_TEST: main.join_cache
|
--- /home/buildbot/build/mysql-test/r/join_cache.result 2017-01-02 14:29:31.000000000 -0500
|
+++ /home/buildbot/build/mysql-test/r/join_cache.reject 2017-01-03 17:17:42.082081716 -0500
|
@@ -5706,7 +5706,7 @@
|
id col1
|
select timestampdiff(second, @init_time, now()) <= 1;
|
timestampdiff(second, @init_time, now()) <= 1
|
-1
|
+0
|
set join_cache_level=2;
|
set @init_time:=now();
|
SELECT t.*
|
|
mysqltest: Result content mismatch
|
This part tests a fix for performance degradation MDEV-6292, and it assumes that the query should take less than a second, which of course is not necessarily true if the builder is really slow.
Attachments
Issue Links
- relates to
-
MDEV-7069 Fix buildbot failures in main server trees
-
- Closed
-
Activity
Description |
http://buildbot.askmonty.org/buildbot/builders/xenial-amd64-valgrind/builds/256/steps/test/logs/stdio
{noformat} main.join_cache 'xtradb' w15 [ fail ] Test ended at 2017-01-03 17:17:43 CURRENT_TEST: main.join_cache --- /home/buildbot/build/mysql-test/r/join_cache.result 2017-01-02 14:29:31.000000000 -0500 +++ /home/buildbot/build/mysql-test/r/join_cache.reject 2017-01-03 17:17:42.082081716 -0500 @@ -5706,7 +5706,7 @@ id col1 select timestampdiff(second, @init_time, now()) <= 1; timestampdiff(second, @init_time, now()) <= 1 -1 +0 set join_cache_level=2; set @init_time:=now(); SELECT t.* mysqltest: Result content mismatch {noformat} This part tests a fix for performance degradation, and it assumes that the query should take less than a second, which of course is not necessarily true if the builder is *really* slow. |
http://buildbot.askmonty.org/buildbot/builders/xenial-amd64-valgrind/builds/256/steps/test/logs/stdio
{noformat} main.join_cache 'xtradb' w15 [ fail ] Test ended at 2017-01-03 17:17:43 CURRENT_TEST: main.join_cache --- /home/buildbot/build/mysql-test/r/join_cache.result 2017-01-02 14:29:31.000000000 -0500 +++ /home/buildbot/build/mysql-test/r/join_cache.reject 2017-01-03 17:17:42.082081716 -0500 @@ -5706,7 +5706,7 @@ id col1 select timestampdiff(second, @init_time, now()) <= 1; timestampdiff(second, @init_time, now()) <= 1 -1 +0 set join_cache_level=2; set @init_time:=now(); SELECT t.* mysqltest: Result content mismatch {noformat} This part tests a fix for performance degradation |
Status | Open [ 1 ] | In Progress [ 3 ] |
Status | In Progress [ 3 ] | Stalled [ 10000 ] |
Fix Version/s | 5.5.55 [ 22311 ] | |
Fix Version/s | 10.0.29 [ 22312 ] | |
Fix Version/s | 10.1.21 [ 22113 ] | |
Fix Version/s | 10.2.4 [ 22116 ] | |
Fix Version/s | 10.2 [ 14601 ] | |
Fix Version/s | 5.5 [ 15800 ] | |
Fix Version/s | 10.0 [ 16000 ] | |
Fix Version/s | 10.1 [ 16100 ] | |
Resolution | Fixed [ 1 ] | |
Status | Stalled [ 10000 ] | Closed [ 6 ] |
Workflow | MariaDB v3 [ 79100 ] | MariaDB v4 [ 151487 ] |
Time is measured for this query performed on empty tables:
t1 t
col1;
After the fix
MDEV-6292, the query for both values of join_cache_level take some ~2000-4000 microsecond on a non-debug build (the value can vary of course).Before the fix, on 10.0.13, the query with join_cache_level=2 on the same machine similar non-debug build takes ~1700000 microseconds. It means that on a really fast machine it can produce false negatives, but i don't think it's extremely important.
If I add two more LEFT JOINs to the query, execution time for fast ones (with join_cache_level=0 before the fix, with both values on the fixed version) does not change noticeably, it's still around ~4000 microseconds; but for the slow query (join_cache_level=2 before the fix) it grows up to ~6500000 microseconds.
So, the easy solution is to add this couple of LEFT JOINs and then increase the margin for the error, make it fail, let's say, if the query takes longer than 4 seconds. If there is no bug, it shouldn't matter, and it should help for slow builders to avoid false positives.