Listing all parts in log have no sense. 
Should be either silenced, either combined into a single line.
auto max_partitions_to_read
        = settings.max_partitions_to_read.changed ? settings.max_partitions_to_read : data_settings->max_partitions_to_read;
    if (max_partitions_to_read > 0)
    {
        std::set<String> partitions;
        for (auto & part_with_ranges : parts_with_ranges)
            partitions.insert(part_with_ranges.data_part->info.partition_id);
        if (partitions.size() > size_t(max_partitions_to_read))
            throw Exception(
                ErrorCodes::TOO_MANY_PARTITIONS,
                "Too many partitions to read. Current {}, max {}",
                partitions.size(),
                max_partitions_to_read);
    }
    String query_id;
    if (data_settings->max_concurrent_queries > 0)
    {
        if (data_settings->min_marks_to_honor_max_concurrent_queries > 0
            && sum_marks >= data_settings->min_marks_to_honor_max_concurrent_queries)
        {
            query_id = context.getCurrentQueryId();
            if (!query_id.empty())
                data.insertQueryIdOrThrow(query_id, data_settings->max_concurrent_queries);
        }
    }
    ProfileEvents::increment(ProfileEvents::SelectedParts, parts_with_ranges.size());
    ProfileEvents::increment(ProfileEvents::SelectedRanges, sum_ranges);
    ProfileEvents::increment(ProfileEvents::SelectedMarks, sum_marks);
    QueryPlanPtr plan;