**Describe the bug**
Imagine that we have a table with old non-adaptive parts (.mrk extension) and enabled mixed granularity in the server's config in section (`<enable_mixed_granularity_parts>1<enable_mixed_granularity_parts>`) or using `ALTER SETTING` query. 
In this case, when we execute `ALTER DELETE` mutation (actually use `MergedBlockOutputStream`) we will take information about index granularity from our source part https://github.com/ClickHouse/ClickHouse/blob/master/src/Storages/MergeTree/MergeTreeDataMergerMutator.cpp#L1066-L1067, and mark file extension will be the same as in source part https://github.com/ClickHouse/ClickHouse/blob/master/src/Storages/MergeTree/MergeTreeDataPartWide.cpp#L65 `.mrk` for the old part. But on the other hand, in the stream settings, we will write index granularity using information from storage https://github.com/ClickHouse/ClickHouse/blob/master/src/Storages/MergeTree/MergedBlockOutputStream.cpp#L49 which will be set to `true`. So we will get part with `.mrk` extension and adaptive granularity which server will not be able to read and mark as broken.

Broken since #8290.
+ ". It is a bug.", ErrorCodes::LOGICAL_ERROR);
        auto count_out = volume->getDisk()->writeFile(part_path + "count.txt", 4096);
        HashingWriteBuffer count_out_hashing(*count_out);
        writeIntText(rows_count, count_out_hashing);
        count_out_hashing.next();
        checksums.files["count.txt"].file_size = count_out_hashing.count();
        checksums.files["count.txt"].file_hash = count_out_hashing.getHash();
    }
    if (!new_part->ttl_infos.empty())
    {
        
        auto out = volume->getDisk()->writeFile(part_path + "ttl.txt", 4096);
        HashingWriteBuffer out_hashing(*out);
        new_part->ttl_infos.write(out_hashing);
        checksums.files["ttl.txt"].file_size = out_hashing.count();
        checksums.files["ttl.txt"].file_hash = out_hashing.getHash();
    }
    removeEmptyColumnsFromPart(new_part, part_columns, checksums);
    {
        
        auto out = volume->getDisk()->writeFile(part_path + "columns.txt", 4096);
        part_columns.writeText(*out);
    }
    {
        
        auto out = volume->getDisk()->writeFile(part_path + "checksums.txt", 4096);
        checksums.write(*out);
    }
}
void MergedBlockOutputStream::writeImpl(const Block & block, const IColumn::Permutation * permutation)