https://s3.amazonaws.com/clickhouse-test-reports/0/10dc83b7a9c18228c4a4fc0dcfe6b18d2427462e/stress_test__debug__actions_.html

I found weird exception while investigating why ephemeral nodes were not removed for a long time:
https://pastila.nl/?00ec9776/d8858e442f8453f9b9e31a2f1da3cc8b
if (tryMulti(ops, responses) == Coordination::Error::ZOK)
            continue;
        removed_as_expected = false;
        std::vector<zkutil::ZooKeeper::FutureRemove> futures;
        futures.reserve(batch.size());
        for (const std::string & child : batch)
            futures.push_back(asyncTryRemoveNoThrow(child, -1));
        for (size_t i = 0; i < batch.size(); ++i)
        {
            auto res = futures[i].get();
            if (res.error == Coordination::Error::ZOK)
                continue;
            if (res.error == Coordination::Error::ZNONODE)
                continue;
            if (res.error == Coordination::Error::ZNOTEMPTY)
            {
                if (probably_flat)
                {
                    
                    tryRemoveChildrenRecursive(batch[i]);
                    tryRemove(batch[i]);
                }
                continue;
            }
            throw KeeperException(res.error, batch[i]);
        }
    }
    return removed_as_expected;
}
void ZooKeeper::removeRecursive(const std::string & path)