Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
5.5.33a
-
None
-
None
-
IBM systemx with 8 cpus with 10 cores with 2 threads = 160 available cpu's
Description
MAX_THREAD_GROUPS 128 setting prevents MariaDB from starting. No configuration is read at the time this check is made. Solution: make allocating the structure dynamic, make default to be always less than MAX_THREAD_GROUPS, or make MAX_THREAD_GROUPS bigger.
./sql/threadpool_unix.cc:static thread_group_t all_groups[MAX_THREAD_GROUPS];
./sql/threadpool.h:#define MAX_THREAD_GROUPS 128
./sql/sys_vars.cc: VALID_RANGE(1, MAX_THREAD_GROUPS), DEFAULT(my_getncpus()), BLOCK_SIZE(1),
Server does not start if my_getncpus() > MAX_THREAD_GROUPS and there is no configuration option around that.
Attachments
Issue Links
- causes
-
MDEV-22578 thread_pool_info crashes with clang6, using SSE instructions on unaligned memory
-
- Closed
-
Activity
Field | Original Value | New Value |
---|---|---|
Assignee | Sergey Vojtovich [ svoj ] |
Fix Version/s | 5.5.34 [ 13700 ] |
Assignee | Sergey Vojtovich [ svoj ] | Sergei Golubchik [ serg ] |
Assignee | Sergei Golubchik [ serg ] | Sergey Vojtovich [ svoj ] |
Resolution | Fixed [ 1 ] | |
Status | Open [ 1 ] | Closed [ 6 ] |
Workflow | defaullt [ 29508 ] | MariaDB v2 [ 44414 ] |
Workflow | MariaDB v2 [ 44414 ] | MariaDB v3 [ 63762 ] |
Link |
This issue causes |
Workflow | MariaDB v3 [ 63762 ] | MariaDB v4 [ 147178 ] |
Sergei, please review fix for this bug. It makes all_groups dynamic, though I can't judge if there is much sense setting it to high values even on computers with huge amount of cores.