[MCOL-834] PrimProc thread leak if ExeMgr dies Created: 2017-07-26 Updated: 2017-07-31 Resolved: 2017-07-31 |
|
| Status: | Closed |
| Project: | MariaDB ColumnStore |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 1.0.10, 1.1.0 |
| Type: | Bug | Priority: | Major |
| Reporter: | Andrew Hutchings (Inactive) | Assignee: | Daniel Lee (Inactive) |
| Resolution: | Fixed | Votes: | 1 |
| Labels: | None | ||
| Sprint: | 2017-15 |
| Description |
|
If the ExeMgr is processing queries and it dies then PrimProc can be left with a bunch of orphaned BPP threads. How to reproduce this: Step 1:
Step 2: Run a bunch of concurrent queries
Step 4: Wait until CPU usage for PrimProc settles down to 0 and then re-run the thread count from step 1. If the bug exists then this will be higher (probably around 137). If it is fixed it will be similar to the first figure. Every time ExeMgr is killed the leak count will increase which also means RAM is being leaked. |
| Comments |
| Comment by Andrew Hutchings (Inactive) [ 2017-07-26 ] |
|
Fix tracks the BPP objects for connection threads and frees them if the connection thread dies. |
| Comment by Andrew Hutchings (Inactive) [ 2017-07-27 ] |
|
Fix has a race condition that we have been able to trigger about 1 in 5 runs. |
| Comment by Andrew Hutchings (Inactive) [ 2017-07-27 ] |
|
2 pull requests for the regressions introduced. |
| Comment by Daniel Lee (Inactive) [ 2017-07-31 ] |
|
Build verified: 1.0.10-1 |
| Comment by Daniel Lee (Inactive) [ 2017-07-31 ] |
|
Build verified: GitHub source 1.1.0 [root@b1pm1 mariadb-columnstore-server]# git show [root@b1pm1 mariadb-columnstore-engine]# git show |