[MDEV-22278] change temp-pool to be 0 by default Created: 2020-04-17 Updated: 2021-03-27 Resolved: 2020-08-07 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Server |
| Fix Version/s: | 10.5.7 |
| Type: | Task | Priority: | Critical |
| Reporter: | Sergei Golubchik | Assignee: | Alexander Barkov |
| Resolution: | Fixed | Votes: | 1 |
| Labels: | None | ||
| Issue Links: |
|
||||||||||||||||||||
| Description |
|
change temp-pool to be 0 by default and deprecate it According to benchmarks made by Axel (and further analysis) , this code behind --temp-pool=1 in create_tmp_table() causes a heavy mutex contention: if (use_temp_pool && !(test_flags & TEST_KEEP_TMP_TABLES)) temp_pool_slot = bitmap_lock_set_next(&temp_pool); The --temp-pool option was implemented to address some bottleneck in Linux kernel, which is reported to be fixed nowadays. In MySQL, --temp-pool was deprecated in 5.7 and removed in 8.0. Let's do the following:
In the meanwhile, we should try to find proves that this problem was really addressed in Linux. |
| Comments |
| Comment by Alexander Barkov [ 2020-08-06 ] |
|
https://github.com/MariaDB/server/commit/be974e56203c723b021a1a5e7719065298d7ceda |