Bug #74693 is this a code defect in calculate pending jobs size?
Submitted: 5 Nov 2014 3:07 Modified: 14 Oct 2020 13:15
Reporter: yx jiang Email Updates:
Status: No Feedback Impact on me:
None 
Category:MySQL Server: Replication Severity:S3 (Non-critical)
Version:5.6.12 OS:Any
Assigned to: MySQL Verification Team CPU Architecture:Any

[5 Nov 2014 3:07] yx jiang
Description:
variable:mts_pending_jobs_size of class Relay_log_info 

in parallel mode, this variable is added/reduced in different thread 

in coordinator thread:rli->mts_pending_jobs_size= new_pend_size; 
in worker thread:rli->mts_pending_jobs_size -= ev->data_written; 
finally when stop slave, asserting that "DBUG_ASSERT(rli->mts_pending_jobs_size == 0);" 

In my opinion, this is a defact but will not lead to fatal error.

How to repeat:
when research in code

Suggested fix:
use mutex protection
[14 Sep 2020 13:15] MySQL Verification Team
Hi,

checking 8.0.21 source and I see this is working differently. Are you able to reproduce this race condition with 8.0.21?
[15 Oct 2020 1:00] Bugs System
No feedback was provided for this bug for over a month, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".