Bug #115983 | Implicit internal temp table reports ’The table '/tmp/#sql_XXX'‘ is full; | ||
---|---|---|---|
Submitted: | 3 Sep 2024 2:27 | Modified: | 3 Sep 2024 8:06 |
Reporter: | Fan Lyu | Email Updates: | |
Status: | Can't repeat | Impact on me: | |
Category: | MySQL Server: InnoDB storage engine | Severity: | S3 (Non-critical) |
Version: | 5.7.44 | OS: | Any |
Assigned to: | CPU Architecture: | x86 |
[3 Sep 2024 2:27]
Fan Lyu
[3 Sep 2024 7:29]
MySQL Verification Team
Hello Fan Lyu, Thank you for taking the time to report a problem. Please note that per Oracle's Lifetime Support policy, as of October 25, 2023, MySQL 5.7 is covered under Oracle Sustaining Support. Also, we don't fix bugs in old versions, don't backport bug fixes, so you need to check with latest MySQL Server 8.0/8.4/9.0 version. Thus, users are encouraged to upgrade to MySQL 8.0/8.4/9.0. - More details at https://www.mysql.com/support/eol-notice.html I didn't check with your table(need subset of data to check at my end) but most likely your issue is fixed after Bug #99100. Any chance you can check if 8.0.39 fixed your issue? Thank you. If you are able to reproduce the bug with one of the latest versions 8.0/8.4/9.0.1, please change the version on this bug report to the version you tested and change the status back to "Open". Again, thank you for your continued support of MySQL. regards, Umesh
[3 Sep 2024 8:02]
Fan Lyu
Thank you for your apply. This exactly does not happen in latest 8.0.X version. But in production, stability is most important, a migration across 5.7 to 8.0 is risky. I am also not asking for a bugfix or further maintainance for 5.7. We can modify max_heap_table_size to avoid this problem by ourselves. We are just curious about the root cause :) In the mentioned bugfix in 8.0.27, TemptableAggregateIterator::move_table_to_disk is added in function TemptableAggregateIterator<Profiler>::Init. But in 5.7, there is no function with same name. Then I searched the surrounding codes, I found "update_tmptable_sum_func" is only called by aggregator related functions. I am wondering, if static enum_nested_loop_state end_update is comparable to TemptableAggregateIterator<Profiler>::Init ? if yes, then 5.7 is lacking move_to_disk logic?
[3 Sep 2024 8:06]
Fan Lyu
the mention end_update function is in sql_executor.cc of 5.7 :)