[MCOL-1062] High concurrency can lock up PrimProc Created: 2017-11-30 Updated: 2018-01-22 Resolved: 2018-01-22 |
|
| Status: | Closed |
| Project: | MariaDB ColumnStore |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 1.1.3 |
| Type: | Bug | Priority: | Major |
| Reporter: | Andrew Hutchings (Inactive) | Assignee: | Daniel Lee (Inactive) |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Attachments: |
|
||||||||
| Issue Links: |
|
||||||||
| Sprint: | 2018-01, 2018-02 | ||||||||
| Description |
|
On my 32vcore machine running 64 parallel queries has a high probability of completely locking up PrimProc. My theory is the threads are requesting access to the thread pool for BPP jobs but the thread pool is already maxed out. Causing a wait deadlock. Test is using:
Test schema and data will be attached shortly. |
| Comments |
| Comment by David Hall (Inactive) [ 2018-01-12 ] |
|
Theoretically, no more than 20 (default) queries should be running simultaneously. This is enforced by the statementsRunningCount instance of class ActiveStatementCounter (ExeMgr main.cpp). The max parallel queries is controlled in ExeMgr by A value of 0 implies unlimited. Unfortunately, until the fix for 1128, getEmExecQueueSize() used getUintVal(), which rejects values of 0 for some unknown design reason. This doesn't mean that the problem isn't in the PM. Most queries require multiple threads in the PM. |
| Comment by David Hall (Inactive) [ 2018-01-12 ] |
|
This bug appears to be fixed when |
| Comment by Daniel Lee (Inactive) [ 2018-01-22 ] |
|
Build verified: 1.1.3-1 Github source /root/columnstore/mariadb-columnstore-server Merge pull request #84 from mariadb-corporation/ /root/columnstore/mariadb-columnstore-server/mariadb-columnstore-engine Merge pull request #375 from mariadb-corporation/dev-1.1-build-fix Fix missing compiler flag from 1.0 -> 1.1 merge Average number of seconds to run all queries: 315.900 seconds |