Details
Description
plugins.feedback_plugin_send fails when it's executed alone:
CURRENT_TEST: plugins.feedback_plugin_send
--- /data/repo/git/5.5/mysql-test/suite/plugins/r/feedback_plugin_send.result 2015-02-15 23:11:28.000000000 +0300
+++ /data/repo/git/5.5/mysql-test/suite/plugins/r/feedback_plugin_send.reject 2015-04-08 00:08:08.000000000 +0300
@@ -4,7 +4,7 @@
select * from information_schema.feedback where variable_name like 'feed%'
and variable_name not like '%_uid';
VARIABLE_NAME VARIABLE_VALUE
-FEEDBACK used 2
+FEEDBACK used 1
FEEDBACK version 1.1
FEEDBACK_SEND_RETRY_WAIT 60
FEEDBACK_SEND_TIMEOUT 60
Apparently, the value '2' is only true for the set feedback_plugin_load feedback_plugin_send. I could mask it, but I'm not sure if it was intentional.
Gliffy Diagrams
Attachments
Activity
- All
- Comments
- Work Log
- History
- Activity
- Transitions
The culprit is actually feedback_plugin_load test. It queries I_S.FEEDBACK table, and every time the table is queried, 'FEEDBACK used' is increased.
feedback_plugin_load normally requires server restart before execution, so its first execution goes fine, 'FEEDBACK used' = 1.
If the next test in line is feedback_plugin_send, it sources feedback_plugin_load again, so the select returns 'FEEDBACK used' = 2, as recorded in feedback_plugin_send.result.
However, if we execute feedback_plugin_send.test separately, there are no previous selects from I_S.FEEDBACK, so the value is lower.
Or, if we execute feedback_plugin_load more than once, e.g. with --repeat, the 2nd and further runs will fail, because there 'FEEDBACK used' will be greater than 1.
The solution should be either to mask the value, or check that it increases without recording the actual value. I will go with the latter.