We use Clickhouse version 22.3.3.44, and met with with some wrong behaviour - 
queries "ALTER TABLE ... MODIFY COMMENT ... " does not work on ReplicatedMergeTree engine.

Bug reproduce script:
```
CREATE TABLE sandbox.test__calendar
(
    `dttm` DateTime COMMENT 'date and time',
    `timestamp` Int64 COMMENT 'event timestamp',
    `year_num` Int32 COMMENT 'year number'
)
ENGINE = ReplicatedMergeTree() PARTITION BY year_num ORDER BY timestamp
COMMENT 'Comment text for test table';

SELECT comment FROM system.tables WHERE name like 'test__calendar'; -- 1 row selected with correct comment text

ALTER TABLE sandbox.test__calendar MODIFY COMMENT 'Some new more detailed text of comment';

SELECT comment FROM system.tables WHERE name like 'test__calendar'; -- 1 row selected, but with OLD(!) comment text
```

Maybe it will be helpfull, ALTER TABLE query returns such result:
```
host            |status|error|num_hosts_remaining|num_hosts_active|
----------------+------+----+-----------------------+------------------+
10.7.179.41     |     0|    |                      1|                 0|
ak1-st-data-01  |     0|    |                      0|                 0|
```
PartDescriptions final_parts;
    Strings final_part_names;
    {
        final_part_names = adding_parts_active_set.getParts();
        for (const String & final_part_name : final_part_names)
        {
            auto part_desc = part_name_to_desc[final_part_name];
            if (!part_desc)
                throw Exception("There is no final part " + final_part_name + ". This is a bug", ErrorCodes::LOGICAL_ERROR);
            final_parts.emplace_back(part_desc);
            if (final_parts.size() > 1)
            {
                auto & prev = *final_parts[final_parts.size() - 2];
                auto & curr = *final_parts[final_parts.size() - 1];
                if (!prev.found_new_part_info.isDisjoint(curr.found_new_part_info))
                {
                    throw Exception("Intersected final parts detected: " + prev.found_new_part_name
                        + " and " + curr.found_new_part_name + ". It should be investigated.", ErrorCodes::LOGICAL_ERROR);
                }
            }
        }
    }
    static const String TMP_PREFIX = "tmp_replace_from_";
    std::vector<MergeTreeData::HardlinkedFiles> hardlinked_files_for_parts;
    auto obtain_part = [&] (PartDescriptionPtr & part_desc)
    {
        if (part_desc->src_table_part)
        {
            if (part_desc->checksum_hex != part_desc->src_table_part->checksums.getTotalChecksumHex())