Hi,
I implemented an alternative, but need to test it more carefully. So,
next proposal tomorrow.
Have a nice evening
Horst
Alfranio Correia schrieb:
> Hi, horst
>
> It would be great also to remove the timeout from the test.
> We should proceed only and only if the number of connections is equal to 1.
> If this never happens MTR will eventually kill the test.
> What do you think?
>
> I will be online later tonight to review the patch if you need.
>
> Cheers.
>
>
> horst hunger wrote:
>> Hi Rafal,
>> alright. Good, that you don't agree. I have another idea, that may fix
>> the bug: I wait until the preceding disconnects will be ready. That
>> may guarantee that alway the expected 9 queries will be executed
>> (without a quit in between, that is cause due to the parallel
>> execution of sessions).
>> The poposed fix will follow (hopefully) this evening.
>> Thanks
>> Horst
>> Rafal Somla schrieb:
>
>
>>> Hi Horst,
>>>
>>> Your solution is based on the assumption that the wrong count (10
>>> instead of 9) is caused by extra "Quit" query being counted in. But
>>> I'm not totally convinced by this. Looking at the relevant place in
>>> the test this is what happens there:
>>>
>>> ...
>>> let $org_queries= `SHOW STATUS LIKE 'Queries'`;
>>> SELECT f1();
>>> CALL p1();
>>> let $new_queries= `SHOW STATUS LIKE 'Queries'`;
>>> --disable_log
>>> let $diff= `SELECT
>>> SUBSTRING('$new_queries',9)-SUBSTRING('$org_queries',9)`;
>>> --enable_log
>>> eval SELECT $diff;
>>> disconnect con1;
>>> ...
>>>
>>> Thus the test assumes that calling f1() and p1() results in 9 queries
>>> being executed. How come that "Quit" is also executed? Note that the
>>> connection is disconnected *after* getting the $new_queries number.
>>>
>>> Hence I'm afraid that your patch can hide a real problem we have
>>> here. What do you say?
>>>
>>> Rafal
>>>
>>> Horst Hunger wrote:
>>>> #At file:///work/bzr/mysql-6.0-39937/
>>>>
>>>> 3007 Horst Hunger 2009-02-03
>>>> Fix for bug#39937: Set the disconnect_timeout to 30 seconds to
>>>> have more time in case of lower performance and specified a weaker
>>>> condition as sometime also a "Quit" is counted as query.
>>>> modified:
>>>> mysql-test/r/status.result
>>>> mysql-test/t/status.test
>>>>
>>>> === modified file 'mysql-test/r/status.result'
>>>> --- a/mysql-test/r/status.result 2009-01-30 14:13:39 +0000
>>>> +++ b/mysql-test/r/status.result 2009-02-03 13:30:23 +0000
>>>> @@ -231,9 +231,9 @@ f1()
>>>> CALL p1();
>>>> 1
>>>> 1
>>>> -SELECT 9;
>>>> -9
>>>> -9
>>>> +SELECT 9 BETWEEN 9 AND 10;
>>>> +9 BETWEEN 9 AND 10
>>>> +1
>>>> DROP PROCEDURE p1;
>>>> DROP FUNCTION f1;
>>>> DROP VIEW IF EXISTS v1;
>>>>
>>>> === modified file 'mysql-test/t/status.test'
>>>> --- a/mysql-test/t/status.test 2009-01-30 14:13:39 +0000
>>>> +++ b/mysql-test/t/status.test 2009-02-03 13:30:23 +0000
>>>> @@ -103,7 +103,7 @@ drop table t1;
>>>> #
>>>>
>>>> # Wait for at most $disconnect_timeout seconds for disconnects to
>>>> finish.
>>>> -let $disconnect_timeout = 10;
>>>> +let $disconnect_timeout = 30;
>>>>
>>>> # Wait for any previous disconnects to finish.
>>>> FLUSH STATUS;
>>>> @@ -327,7 +327,8 @@ let $new_queries= `SHOW STATUS LIKE 'Que
>>>> --disable_query_log
>>>> let $diff= `SELECT
>>>> SUBSTRING('$new_queries',9)-SUBSTRING('$org_queries',9)`;
>>>> --enable_query_log
>>>> -eval SELECT $diff;
>>>> +# The number of queries must at least be 9, but ometimes a "Quit"
>>>> is also counted.
>>>> +eval SELECT $diff BETWEEN 9 AND 10;
>>>> disconnect con1;
>>>> connection default;
>>>> DROP PROCEDURE p1;
>>>>
>>>>
>>
>
--
Regards
Horst
Horst Hunger
Sun Microsystems GmbH, QA Software Developer
Office: +49 30 321 03 466
Amtsgericht München: HRB161028
Geschäftsführer: Thomas Schröder, Wolfgang Engels, Dr. Roland Bömer
Vorsitzender des Aufsichtsrates: Martin Häring