[SERVER-19000] Extract a new ThreadPool class from repl::NetworkInterfaceImpl Created: 16/Jun/15  Updated: 25/Jan/17  Resolved: 15/Jul/15

Status: Closed
Project: Core Server
Component/s: Internal Code
Affects Version/s: None
Fix Version/s: 3.1.6

Type: Task Priority: Major - P3
Reporter: Andy Schwerin Assignee: Andy Schwerin
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
is depended on by SERVER-19001 Implement a ThreadPoolExecutor that s... Closed
Related
Backwards Compatibility: Fully Compatible
Sprint: Sharding 5 06/26/16, Sharding 6 07/17/15
Participants:
Linked BF Score: 0

 Description   

The thread pool implemented inside of repl::NetworkInterfaceImpl can adjust its size dynamically, and offers more extensibility than threadpool::ThreadPool. This task is to build a new ThreadPool class, use it instead of the hand-rolled thread pool in NetworkInterfaceImpl, and to replace the old ThreadPool class.



 Comments   
Comment by Githook User [ 15/Jul/15 ]

Author:

{u'username': u'andy10gen', u'name': u'Andy Schwerin', u'email': u'schwerin@mongodb.com'}

Message: SERVER-19000 Implement NetworkInterfaceImpl in terms of ThreadPool.
Branch: master
https://github.com/mongodb/mongo/commit/23963a5d822bfc8a3aa4754c2fe923cdcdaa1956

Comment by Githook User [ 15/Jul/15 ]

Author:

{u'username': u'kaloianm', u'name': u'Kaloian Manassiev', u'email': u'kaloian.manassiev@mongodb.com'}

Message: SERVER-19000 Fix lint formatting error
Branch: master
https://github.com/mongodb/mongo/commit/02226e4eacd59bb911c61e3f5ba75dfabf4fad5f

Comment by Githook User [ 14/Jul/15 ]

Author:

{u'username': u'andy10gen', u'name': u'Andy Schwerin', u'email': u'schwerin@mongodb.com'}

Message: SERVER-19000 Introduce ThreadPoolInterface so that tests may use a mocked out implementation of ThreadPool
Branch: master
https://github.com/mongodb/mongo/commit/c8d0fd742d708e82148ca728d4623cbfd507ab63

Comment by Githook User [ 24/Jun/15 ]

Author:

{u'username': u'andy10gen', u'name': u'Andy Schwerin', u'email': u'schwerin@mongodb.com'}

Message: SERVER-19000 Implement OldThreadPool in terms of ThreadPool.
Branch: master
https://github.com/mongodb/mongo/commit/312cecc4361a93e25c35b554441e80da3daa7e83

Comment by Githook User [ 24/Jun/15 ]

Author:

{u'username': u'andy10gen', u'name': u'Andy Schwerin', u'email': u'schwerin@mongodb.com'}

Message: SERVER-19000 Fix thread_pool_test.

While joining a ThreadPool, the value of the "numThreads" stats value is locked
at the number of threads that existed when the join operation began, even if one
or more of those threads have since exited. This is because the numThreads value
is computed as the number of threads in the _threads container, which are the
threads that will be joined individually during a pool join operation.

As such, it is not correct to make assertions about the value of numThreads
while ThreadPool::join is running, as it is in DestructionDuringDoubleJoins.
Branch: master
https://github.com/mongodb/mongo/commit/728366e05a99058a2fb9530bf744fe7b4e5fda43

Comment by Githook User [ 23/Jun/15 ]

Author:

{u'username': u'andy10gen', u'name': u'Andy Schwerin', u'email': u'schwerin@mongodb.com'}

Message: SERVER-19000 Implement a ThreadPool that dynamically adjusts the number of threads based on demand.

This pool is derived from the one built into executor::NetworkInterfaceImpl.
Branch: master
https://github.com/mongodb/mongo/commit/891e0b850200725dc73e1ac1cd803436cd6099bc

Comment by Githook User [ 23/Jun/15 ]

Author:

{u'username': u'andy10gen', u'name': u'Andy Schwerin', u'email': u'schwerin@mongodb.com'}

Message: Revert "SERVER-19000 Implement a ThreadPool that dynamically adjusts the number of threads based on demand."

This reverts commit 444b1859d1311fd5b775e1d4a0dba32c14d3c4f5.
Branch: master
https://github.com/mongodb/mongo/commit/b6057b08dc313ef372db05f5945dd23b9b1ed7cf

Comment by Githook User [ 23/Jun/15 ]

Author:

{u'username': u'andy10gen', u'name': u'Andy Schwerin', u'email': u'schwerin@mongodb.com'}

Message: SERVER-19000 Implement a ThreadPool that dynamically adjusts the number of threads based on demand.

This pool is derived from the one built into executor::NetworkInterfaceImpl.
Branch: master
https://github.com/mongodb/mongo/commit/444b1859d1311fd5b775e1d4a0dba32c14d3c4f5

Comment by Githook User [ 17/Jun/15 ]

Author:

{u'username': u'andy10gen', u'name': u'Andy Schwerin', u'email': u'schwerin@mongodb.com'}

Message: SERVER-19000 Rename threadpool::ThreadPool to OldThreadPool.

This is in preparation for introducing a new ThreadPool that will subsume the old one.
Branch: master
https://github.com/mongodb/mongo/commit/4f525b4550a7c47438938c69459326390164018d

Generated at Thu Feb 08 03:49:30 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.