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
if (args.columns.empty() && replicated)
        columns = getColumnsDescriptionFromZookeeper(zookeeper_path, args.getContext());
    else
        columns = args.columns;
    metadata.setColumns(columns);
    metadata.setComment(args.comment);
    const auto & initial_storage_settings = replicated ? args.getContext()->getReplicatedMergeTreeSettings() : args.getContext()->getMergeTreeSettings();
    std::unique_ptr<MergeTreeSettings> storage_settings = std::make_unique<MergeTreeSettings>(initial_storage_settings);
    if (is_extended_storage_def)
    {
        ASTPtr partition_by_key;
        if (args.storage_def->partition_by)
            partition_by_key = args.storage_def->partition_by->ptr();
        
        
        
        metadata.partition_key = KeyDescription::getKeyFromAST(partition_by_key, metadata.columns, args.getContext());
        
        if (!args.storage_def->order_by && args.storage_def->primary_key)
            args.storage_def->set(args.storage_def->order_by, args.storage_def->primary_key->clone());
        if (!args.storage_def->order_by)
            throw Exception(
                "You must provide an ORDER BY or PRIMARY KEY expression in the table definition. "
                "If you don't want this table to be sorted, use ORDER BY/PRIMARY KEY tuple()",
                ErrorCodes::BAD_ARGUMENTS);