**Describe the issue**
ClickHouse is unable to start up after upgrading from 20.8 to 21.8. 

There is a replicated table with `:` in zk path and it couldn't be loaded with:

`2021.09.15 03:49:58.435071 [ 633075 ] {} <Error> Application: DB::Exception: Unknown auxiliary ZooKeeper name '/test_prefix'. If it's required it can be added to the section <auxiliary_zookeepers> in config.xml: Cannot attach table `db1`.`table1` from metadata file /var/lib/clickhouse/metadata/db1/table1.sql from query ATTACH TABLE db1.table1 (`field1` String, `date` Date) ENGINE = ReplicatedMergeTree('/test_prefix:db1/{shard}/table1', '{replica}') PARTITION BY toMonth(date) PRIMARY KEY field1 ORDER BY field1 SETTINGS index_granularity = 8192: while loading database `db1` from path /var/lib/clickhouse/metadata/db1
`

**Expected behavior**
ClickHouse server is able to startup after upgrade without schema change. "test_prefix" in "/test_prefix:db1/{shard}/table1" is not interpreted as an auxiliary ZooKeeper name.

return false;
            if (select_decision != SelectPartsDecision::SELECTED)
            {
                constexpr const char * message_fmt = "Cannot select parts for optimization: {}";
                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, 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, 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);