Bug #105051 Missing return
Submitted: 27 Sep 2021 13:50 Modified: 15 Dec 2021 10:31
Reporter: Mikael Ronström Email Updates:
Status: Closed Impact on me:
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S3 (Non-critical)
Version:8.0.26 OS:Any
Assigned to: CPU Architecture:Any

[27 Sep 2021 13:50] Mikael Ronström
There is a missing return after line 16399 in DblqhMain.cpp.
This leads to a crash immediately after.

How to repeat:
Fix ndb_transaction_memory_shortage test case.
1) Remove ERROR_INSERTED_CLEAR(5031) in 2 places
2) Add && !ERROR_INSERTED(5031) in seize_op_rec in Dblqh
to ensure that we call oprec_pool.seize.

Suggested fix:
Add a return + other fixes
[27 Sep 2021 14:48] MySQL Verification Team
Hello Mikael,

Thank you for the report and feedback.

[15 Dec 2021 10:31] Jon Stephens
Documented fix as follows in the NDB 8.0.29 changelog:

    In DblqhMain.cpp, a missing return in the internal
    execSCAN_FRAGREQ() function led to an unplanned shutdown of the
    data node when inserting a nonfatal error.