When trying to populate a newly created GraphiteMergeTree table with some data, I catch an exception.

```sql
CREATE TABLE default.ttt
(
    `C1` Int8,
    `Sign` Int8,
    `Version` UInt8,
    `Path` String,
    `Time` DateTime,
    `Value` Int8
)
ENGINE = GraphiteMergeTree('graphite_rollup_params')
ORDER BY tuple()
```
Table is created and it shows up in `SHOW TABLES`. Then, I try to insert some data:

```sql
tietokone :) INSERT INTO ttt (*) VALUES (1, 1, 2, 'qwew', '2021-12-12 01:01:02', 2)

INSERT INTO ttt (*) VALUES

Received exception from server (version 21.9.4):
Code: 49. DB::Exception: Received from localhost:9000. DB::Exception: Invalid number of rows in Chunk column Int8 position 5: expected 1, got 8. (LOGICAL_ERROR)
```

`graphite_rollup_params`:
```xml
<yandex>
    <graphite_rollup_params>
        <version_column_name>Version</version_column_name>
        <pattern>
            <regexp>click_cost</regexp>
            <function>any</function>
            <retention>
                <age>0</age>
                <precision>5</precision>
            </retention>
            <retention>
                <age>86400</age>
                <precision>60</precision>
            </retention>
        </pattern>
        <default>
            <function>max</function>
            <retention>
                <age>0</age>
                <precision>60</precision>
            </retention>
            <retention>
                <age>3600</age>
                <precision>300</precision>
            </retention>
            <retention>
                <age>86400</age>
                <precision>3600</precision>
            </retention>
        </default>
    </graphite_rollup_params>
</yandex>
```

This happens on `21.3`, `21.8`, `21.9`
However, `20.3`, `20.8` work as expected
while (queue.isValid())
    {
        SortCursor current = queue.current();
        if (current->isLast() && skipLastRowFor(current->order))
        {
            
            queue.removeTop();
            return Status(current.impl->order);
        }
        std::string_view next_path = current->all_columns[columns_definition.path_column_num]->getDataAt(current->getRow()).toView();
        bool new_path = is_first || next_path != current_group_path;
        is_first = false;
        time_t next_row_time = current->all_columns[columns_definition.time_column_num]->getUInt(current->getRow());
        
        bool is_new_key = new_path || next_row_time != current_time;
        if (is_new_key)
        {
            
            if (merged_data.wasGroupStarted())
                accumulateRow(current_subgroup_newest_row);
            Graphite::RollupRule next_rule = merged_data.currentRule();
            if (new_path)
                next_rule = selectPatternForPath(this->params, next_path);
            const Graphite::RetentionPattern * retention_pattern = std::get<0>(next_rule);
            time_t next_time_rounded;
            if (retention_pattern)
            {
                UInt32 precision = selectPrecision(retention_pattern->retentions, next_row_time);
                next_time_rounded = roundTimeToPrecision(date_lut, next_row_time, precision);