**Describe the issue**
We observe many obsolete names of idle threads like `Formatter`.

**Solution**
Reset thread name after a job is done in thread pool.
new_job_or_shutdown.wait(lock, [this] { return shutdown || !jobs.empty(); });
            need_shutdown = shutdown;
            if (!jobs.empty())
            {
                
                
                job = std::move(const_cast<Job &>(jobs.top().job));
                jobs.pop();
            }
            else
            {
                
                return;
            }
        }
        if (!need_shutdown)
        {
            try
            {
                ALLOW_ALLOCATIONS_IN_SCOPE;
                CurrentMetrics::Increment metric_active_threads(
                    std::is_same_v<Thread, std::thread> ? CurrentMetrics::GlobalThreadActive : CurrentMetrics::LocalThreadActive);
                job();
                
                
                job = {};
            }
            catch (...)
            {