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|
```
assert(disable_reason != unknown_disable_reason);
                if (!partition_id.empty())
                    disable_reason += fmt::format(" (in partition {})", partition_id);
                String message = fmt::format(message_fmt, disable_reason);
                LOG_INFO(log, fmt::runtime(message));
                return handle_noop(message);
            }
            ReplicatedMergeTreeLogEntryData merge_entry;
            CreateMergeEntryResult create_result = createLogEntryToMergeParts(
                zookeeper, future_merged_part->parts,
                future_merged_part->name, future_merged_part->uuid, future_merged_part->type,
                deduplicate, deduplicate_by_columns,
                &merge_entry, can_merge.getVersion(), future_merged_part->merge_type);
            if (create_result == CreateMergeEntryResult::MissingPart)
            {
                String message = "Can't create merge queue node in ZooKeeper, because some parts are missing";
                LOG_TRACE(log, fmt::runtime(message));
                return handle_noop(message);
            }
            if (create_result == CreateMergeEntryResult::LogUpdated)
                continue;
            merge_entries.push_back(std::move(merge_entry));
            return true;
        }
        assert(try_no == max_retries);
        String message = fmt::format("Can't create merge queue node in ZooKeeper, because log was updated in every of {} tries", try_no);
        LOG_TRACE(log, fmt::runtime(message));
        return handle_noop(message);
    };
    bool assigned = false;