https://play.clickhouse.com/play?user=play#c2VsZWN0IAp0b1N0YXJ0T2ZEYXkoY2hlY2tfc3RhcnRfdGltZSkgYXMgZCwKY291bnQoKSwgIGdyb3VwVW5pcUFycmF5KHB1bGxfcmVxdWVzdF9udW1iZXIpLCAgYW55KHJlcG9ydF91cmwpCmZyb20gY2hlY2tzIHdoZXJlICcyMDIyLTA2LTAxJyA8PSBjaGVja19zdGFydF90aW1lIGFuZCB0ZXN0X25hbWUgbGlrZSAnJTAyNDgxX2FzeW5jX2luc2VydF9kZWR1cCUnIGFuZCB0ZXN0X3N0YXR1cyBpbiAoJ0ZBSUwnLCAnRkxBS1knKSBncm91cCBieSBkIG9yZGVyIGJ5IGQgZGVzYw==

Example: https://s3.amazonaws.com/clickhouse-test-reports/44202/ec09a66fbb074fcccfae4a743106d5e7c3b64e26/stateless_tests__debug__s3_storage__[3/6].html
{
    if (!isQuorumEnabled())
        return 0;
    quorum_info.status_path = storage.zookeeper_path + "/quorum/status";
    Strings replicas = zookeeper->getChildren(fs::path(storage.zookeeper_path) / "replicas");
    Strings exists_paths;
    exists_paths.reserve(replicas.size());
    for (const auto & replica : replicas)
        if (replica != storage.replica_name)
            exists_paths.emplace_back(fs::path(storage.zookeeper_path) / "replicas" / replica / "is_active");
    auto exists_result = zookeeper->exists(exists_paths);
    auto get_results = zookeeper->get(Strings{storage.replica_path + "/is_active", storage.replica_path + "/host"});
    Coordination::Error keeper_error = Coordination::Error::ZOK;
    size_t active_replicas = 1;     
    for (size_t i = 0; i < exists_paths.size(); ++i)
    {
        auto error = exists_result[i].error;
        if (error == Coordination::Error::ZOK)
            ++active_replicas;
        else if (Coordination::isHardwareError(error))
            keeper_error = error;
    }
    size_t replicas_number = replicas.size();