public static String readData(final ZooKeeperWatcher zkw, final String path)
            throws KeeperException {
        byte[] bytes = ZKUtil.getDataAndWatch(zkw, path);
        if (bytes == null) {
            return null;
        }
        try {
            return new String(bytes, TBaseConstants.META_DEFAULT_CHARSET_NAME);
        } catch (Throwable e) {
            logger.error("readData from " + path + " error! bytes is " + new String(bytes), e);
        }
        return null;
    }
Update the value of a persistent node with the given path and data. create parent directory
if necessary. Never throw NodeExistException.
inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/common/zookeeper/ZKUtil.java