[MCOL-1165] Use the threadpool automatic idle down facility Created: 2018-01-15  Updated: 2018-01-22  Resolved: 2018-01-22

Status: Closed
Project: MariaDB ColumnStore
Component/s: ExeMgr
Affects Version/s: 1.1.2
Fix Version/s: 1.1.3

Type: Bug Priority: Major
Reporter: David Hall (Inactive) Assignee: Daniel Lee (Inactive)
Resolution: Fixed Votes: 0
Labels: None

Sprint: 2018-02

 Description   

When fixing MCOL-1128, we set the threadpool to infinite threads. threadpool has a facility whereby it will allow any number of threads to be spawned, but if after 10 minutes of idel, a thread isn't used and there are more than a set maximum threads in the pool, that thread will be discarded.

We need to make use of that facility.



 Comments   
Comment by David Hall (Inactive) [ 2018-01-16 ]

To test the ExeMgr threadpool idle down, the following xml values can be set:

<ExeMgr1>
<ThreadPoolSize>50</ThreadPoolSize> <!-- The target number of threads default 50-->
<ThreadPoolDebug>"N" </ThreadPoolDebug> <!-- Log some debug about the ExeMgr threadpool -->
</ExeMgr1>

When debug is turned on, tail -f "/var/log/mariadb/columnstore/trace/ThreadPool_ExeMgrServer.log

If you run the test from 1128, you should see the number of threads spike when the query thread runs. It should idle back to ThreadPoolSize (default 50) after 10 minutes of low activity.

Comment by Andrew Hutchings (Inactive) [ 2018-01-18 ]

For QA: MCOL-1062 and MCOL-1128 should still pass after this change.

Comment by Daniel Lee (Inactive) [ 2018-01-22 ]

Build verified: 1.1.3-1 Github source

/root/columnstore/mariadb-columnstore-server
commit e0ae0d2fecf9941887478d9aa669c8b2d1092090
Merge: 21ec50194e 2490ddf50e
Author: benthompson15 <ben.thompson@mariadb.com>
Date: Fri Jan 19 12:39:05 2018 -0600

Merge pull request #84 from mariadb-corporation/MCOL-1159

MCOL-1159 Merge mariadb-10.2.12

/root/columnstore/mariadb-columnstore-server/mariadb-columnstore-engine
commit c74d5de21d6571c0b0e9a12dacaf77856d332e63
Merge: 201813d6 63adbd0f
Author: benthompson15 <ben.thompson@mariadb.com>
Date: Mon Jan 22 09:42:34 2018 -0600

Merge pull request #375 from mariadb-corporation/dev-1.1-build-fix

Fix missing compiler flag from 1.0 -> 1.1 merge

22:27:22.8497 Name ExeMgrServer Active 1 ThdCnt 129 Max 50 Q 0
22:27:24.8586 Name ExeMgrServer Active 1 ThdCnt 129 Max 50 Q 0
22:27:26.8690 Name ExeMgrServer Active 1 ThdCnt 129 Max 50 Q 0
22:27:28.8730 Name ExeMgrServer Active 1 ThdCnt 129 Max 50 Q 0
22:27:30.8810 Name ExeMgrServer Active 1 ThdCnt 129 Max 50 Q 0
22:27:32.8905 Name ExeMgrServer Active 1 ThdCnt 129 Max 50 Q 0
22:27:34.8925 Name ExeMgrServer Active 1 ThdCnt 93 Max 50 Q 0
22:27:36.9026 Name ExeMgrServer Active 1 ThdCnt 87 Max 50 Q 0
22:27:38.9067 Name ExeMgrServer Active 1 ThdCnt 81 Max 50 Q 0
22:27:40.9085 Name ExeMgrServer Active 1 ThdCnt 75 Max 50 Q 0
22:27:42.9095 Name ExeMgrServer Active 1 ThdCnt 67 Max 50 Q 0
22:27:44.9159 Name ExeMgrServer Active 1 ThdCnt 63 Max 50 Q 0
22:27:46.9271 Name ExeMgrServer Active 1 ThdCnt 57 Max 50 Q 0
22:27:48.9284 Name ExeMgrServer Active 1 ThdCnt 50 Max 50 Q 0
22:27:50.9392 Name ExeMgrServer Active 1 ThdCnt 50 Max 50 Q 0

Generated at Thu Feb 08 02:26:42 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.