Bug #105799 Assistant send threads sometimes need to wake send threads
Submitted: 4 Dec 2021 12:18 Modified: 6 Dec 2021 6:11
Reporter: Mikael Ronström Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S3 (Non-critical)
Version:8.0.27 OS:Any
Assigned to: CPU Architecture:Any

[4 Dec 2021 12:18] Mikael Ronström
Description:
    In the situation that block threads assisted send threads, they didn't
    transfer the responsibility back to the send thread when they didn't
    complete their assistance. This only applied when assistance failed
    to send all data to a certain transporter, the send was usually
    picked up by other threads quite quickly, so impact was some outliers
    in latency.

How to repeat:
Run some benchmark

Suggested fix:
After insert_trp in handle_send_trp if not send thread, wake send thread.
[5 Dec 2021 18:05] MySQL Verification Team
Hi Mikael,

having issue reproducing this. Can you help please. 
I can load the cluster with a bench but I'm not sure what instrumentation to use to confirm the report.

all best
Bogdan
[6 Dec 2021 1:31] Mikael Ronström
You can easily reproduce it using some benchmark. But the problem is to
see the regression since it only hits random transactions. The best way to
reproduce is to increase the sleep time in send threads such that the outliers
becomes more accentuated.
[6 Dec 2021 6:11] MySQL Verification Team
Hi Mikael. Thanks, clear.

All best
Bogdan