Listing all parts in log have no sense. 
Should be either silenced, either combined into a single line.
data_settings->index_granularity,
        index_granularity_bytes,
        sum_marks);
    if (sum_marks > max_marks_to_use_cache)
        use_uncompressed_cache = false;
    Pipes res;
    if (sum_marks == 0)
        return {};
    
    auto split_ranges = [rows_granularity = data_settings->index_granularity, max_block_size](const auto & ranges, int direction)
    {
        MarkRanges new_ranges;
        const size_t max_marks_in_range = (max_block_size + rows_granularity - 1) / rows_granularity;
        size_t marks_in_range = 1;
        if (direction == 1)
        {
            
            bool split = false;
            for (auto range : ranges)
            {
                while (!split && range.begin + marks_in_range < range.end)
                {
                    new_ranges.emplace_back(range.begin, range.begin + marks_in_range);
                    range.begin += marks_in_range;
                    marks_in_range *= 2;
                    if (marks_in_range > max_marks_in_range)
                        split = true;
                }
                new_ranges.emplace_back(range.begin, range.end);
            }