https://s3.amazonaws.com/clickhouse-test-reports/0/8ea7b9c9784f7014dccb4fe0dfd269265126a30d/stress_test__msan_.html

Post-processed traces: https://pastila.nl/?0006a09d/4a3864799d8b23c3998deeefcdca5d8f
Post-processed traces without boring threads: https://pastila.nl/?0006a09d/f342d95a823d513df62d68a5d8a1a50b

Explanation: https://pastila.nl/?000fcc82/3a48f372d3410a8691d50cb5647b2c20
{
        CurrentThread::updateProgressIn(value);
        progress_in.incrementPiecewiseAtomically(value);
        if (priority_handle)
            priority_handle->waitIfNeed(std::chrono::seconds(1));        
        return !is_killed.load(std::memory_order_relaxed);
    }
    bool updateProgressOut(const Progress & value)
    {
        CurrentThread::updateProgressOut(value);
        progress_out.incrementPiecewiseAtomically(value);
        return !is_killed.load(std::memory_order_relaxed);
    }
    QueryStatusInfo getInfo(bool get_thread_list = false, bool get_profile_events = false, bool get_settings = false) const;
    CancellationCode cancelQuery(bool kill);
    bool isKilled() const { return is_killed; }
    bool isAllDataSent() const { return is_all_data_sent; }
    void setAllDataSent() { is_all_data_sent = true; }
    
    void addPipelineExecutor(PipelineExecutor * e);
    
    void removePipelineExecutor(PipelineExecutor * e);
    
    bool checkTimeLimit();
    
    [[nodiscard]] bool checkTimeLimitSoft();
};
struct ProcessListForUserInfo
{
    Int64 memory_usage;