`Selected 13 parts by date, 13 parts by key, 26 marks by primary key .... `

This message is confusing for new users.

I suggest to replace it with

`Selected 13 parts by partition key, 13 parts by primary key, 26 marks by primary key...`
if (res.empty() || range.begin - res.back().end > min_marks_for_seek)
                    res.push_back(range);
                else
                    res.back().end = range.end;
            }
            else
            {
                
                size_t step = (range.end - range.begin - 1) / settings.merge_tree_coarse_index_granularity + 1;
                size_t end;
                for (end = range.end; end > range.begin + step; end -= step)
                    ranges_stack.emplace_back(end - step, end);
                ranges_stack.emplace_back(range.begin, end);
            }
        }
        LOG_TRACE(log, "Used generic exclusion search over index for part {} with {} steps", part->name, steps);
    }
    else
    {
        
        
        
        LOG_TRACE(log, "Running binary search on index range for part {} ({} marks)", part->name, marks_count);
        size_t steps = 0;
        MarkRange result_range;
        size_t searched_left = 0;
        size_t searched_right = marks_count;
        while (searched_left + 1 < searched_right)
        {