09.04.2017 13:00, Mark Rotteveel wrote:
> On 2-4-2017 15:23, Vlad Khorsun wrote:
>> 02.04.2017 14:59, Mark Rotteveel wrote:
...
>>> Any thoughts or ideas on this, or is it better if I just create a bug
>>> report?
>>
>>     Ideally, reproducible test case needed. As simple, as possible. Also, we
>> could log every packet related to events on server side.
> 
> I have built a sample application that reproduces it a little bit more
> consistently (although it still occasionally succeeds without a
> mismatch). 

   Thanks. I downloaded and run it. Note, i need to change WireCrypt setting to
Enabled to make it work, but this is not so important :)

   It is almost impossible to see the mismatch at my host. Only way to see it
once in a few runs is to set 64 threads and 5000 inserts per thread. Ok, it
is reproduced, but...

   To verify what i see i run FlameRobin and register same two events for
monitoring. When test failed i saved output of FlameRobin into a text file
and convert it into LibreOffice Calc sheet. Then i evaluate sum of every
event counters and check it for mismatch - they are equal. Also, every pair
of "TEST_EVENT_A" and "TEST_EVENT_B" have the same number of events - it looks
like

16:50:54  Monitoring started
16:50:54  TEST_EVENT_A (170)
16:50:54  TEST_EVENT_B (170)
16:50:54  TEST_EVENT_A (195)
16:50:54  TEST_EVENT_B (195)
16:50:54  TEST_EVENT_A (227)
16:50:54  TEST_EVENT_B (227)
16:50:55  TEST_EVENT_A (222)
16:50:55  TEST_EVENT_B (222)

and so on

   I.e. test app shows:

Using thread count 64, number of inserts per thread 5000
Inserts done 320000, matches expected 320000: true
Event EVENT_NAME_A, expected 320000, actual 320000: true
Event EVENT_NAME_B, expected 320000, actual 271541: false <================

while FlameRobin received 301782 of events "TEST_EVENT_A" and same number of
"TEST_EVENT_B". Yes, it is not 320000 as one could expect - it is because i need
some time to connect and to start event monitoring. I can't do it in advance as
test applications recreates database and fails on start if there is attachment
exists. Anyway, 301782 is much more than 271541.


   Then i repeat the test and results is:

Using thread count 64, number of inserts per thread 5000
Inserts done 320000, matches expected 320000: true
Event EVENT_NAME_A, expected 320000, actual 133394: false <================
Event EVENT_NAME_B, expected 320000, actual 320000: true

while FlameRobin received 312263 events "TEST_EVENT_A" and 312263 events
"TEST_EVENT_B".

I can send you sheet with data if you wish.

Regards,
Vlad

PS Every time test app show mismatsh i see that one event have expected counter.
I.e. there was no case when both counters was wrong.

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to