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|
```
bool copy_instead_of_hardlink = storage_settings_ptr->allow_remote_fs_zero_copy_replication
                                            && src_part->isStoredOnRemoteDiskWithZeroCopySupport();
            auto dst_part = dest_table_storage->cloneAndLoadDataPartOnSameDisk(src_part, TMP_PREFIX, dst_part_info, dest_metadata_snapshot, NO_TRANSACTION_PTR, &hardlinked_files, copy_instead_of_hardlink);
            src_parts.emplace_back(src_part);
            dst_parts.emplace_back(dst_part);
            ephemeral_locks.emplace_back(std::move(*lock));
            block_id_paths.emplace_back(block_id_path);
            part_checksums.emplace_back(hash_hex);
            hardlinked_files_for_parts.emplace_back(hardlinked_files);
        }
        ReplicatedMergeTreeLogEntryData entry_delete;
        {
            entry_delete.type = LogEntry::DROP_RANGE;
            entry_delete.source_replica = replica_name;
            entry_delete.new_part_name = drop_range_fake_part_name;
            entry_delete.detach = false; 
            entry_delete.create_time = time(nullptr);
        }
        ReplicatedMergeTreeLogEntryData entry;
        {
            MergeTreePartInfo drop_range_dest = makeDummyDropRangeForMovePartitionOrAttachPartitionFrom(partition_id);
            entry.type = ReplicatedMergeTreeLogEntryData::REPLACE_RANGE;
            entry.source_replica = dest_table_storage->replica_name;
            entry.create_time = time(nullptr);
            entry.replace_range_entry = std::make_shared<ReplicatedMergeTreeLogEntryData::ReplaceRangeEntry>();
            auto & entry_replace = *entry.replace_range_entry;
            entry_replace.drop_range_part_name = getPartNamePossiblyFake(format_version, drop_range_dest);
            entry_replace.from_database = src_data_id.database_name;
            entry_replace.from_table = src_data_id.table_name;
            for (const auto & part : src_parts)