This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author vstinner
Recipients Wei Li, martin.panter, maru-n, vstinner
Date 2019-06-24.15:01:40
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1561388501.06.0.00350688167645.issue37193@roundup.psfhosted.org>
In-reply-to
Content
I marked bpo-37389 as a duplicate of this issue:

"""
msg346410 - (view) 	Author: Daniel W Forsyth (danf@dataforge.on.ca) 	Date: 2019-06-24 14:53

After putting a basic ThreadingUDPServer under load (500 messages per/second)  I noticed that after a night it was consuming a lot of RAM given it does nothing with the data.

On inception, I noticed the _thread count inside the server was growing forever even though the sub-threads are done.

Setup a basic ThreadingUDPSever with handler that does nothing and check the request_queue_size, it seems to grow without limit.

msg346411 - (view) 	Author: Daniel W Forsyth (danf@dataforge.on.ca) 	Date: 2019-06-24 14:59

The only way I could figure out to control it was to do this in a thread;

        for thread in server._threads:  # type: Thread
            if not thread.is_alive():
                server._threads.remove(thread)

Shouldn't the server process do this when the thread is done?
"""
History
Date User Action Args
2019-06-24 15:01:41vstinnersetrecipients: + vstinner, martin.panter, maru-n, Wei Li
2019-06-24 15:01:41vstinnersetmessageid: <1561388501.06.0.00350688167645.issue37193@roundup.psfhosted.org>
2019-06-24 15:01:41vstinnerlinkissue37193 messages
2019-06-24 15:01:40vstinnercreate