Skip to content

Expose all GlobalThreadPool params to config.xml #31256

@gyfis

Description

@gyfis

Describe the unexpected behaviour
I'd expect GlobalThreadPool to expose all params outside to the configuration, so that they can be tweaked.

Here's the code:
https://github.com/ClickHouse/ClickHouse/blob/master/src/Common/ThreadPool.cpp#L323-L334

void GlobalThreadPool::initialize(size_t max_threads)
{
    if (the_instance)
    {
        throw DB::Exception(DB::ErrorCodes::LOGICAL_ERROR,
            "The global thread pool is initialized twice");
    }

    the_instance.reset(new GlobalThreadPool(max_threads,
        1000 /*max_free_threads*/, 10000 /*max_queue_size*/,
        false /*shutdown_on_exception*/));
}

I'd expect both max_free_threads and max_queue_size to be configurable via settings.xml, similar to max_threads.

Is this expansion planned? The possibility of increasing max_queue_size would allow us to manage table attaching in a much more direct, faster way.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions