Listing all parts in log have no sense. 
Should be either silenced, either combined into a single line.
index_granularity_bytes);
    if (sum_marks > max_marks_to_use_cache)
        use_uncompressed_cache = false;
    if (num_streams > settings.max_final_threads)
        num_streams = settings.max_final_threads;
    
    
    
    
    
    std::vector<RangesInDataParts::iterator> parts_to_merge_ranges;
    auto it = parts.begin();
    parts_to_merge_ranges.push_back(it);
    if (settings.do_not_merge_across_partitions_select_final)
    {
        while (it != parts.end())
        {
            it = std::find_if(
                it, parts.end(), [&it](auto & part) { return it->data_part->info.partition_id != part.data_part->info.partition_id; });
            parts_to_merge_ranges.push_back(it);
        }
        
        
        num_streams /= (parts_to_merge_ranges.size() - 1);
    }
    else
    {
        
        parts_to_merge_ranges.push_back(parts.end());
    }