static boolean isConnectionBroken(Throwable cause) {
    return (cause instanceof SocketException && cause.getMessage().contains("Broken pipe"))
        || (cause instanceof TTransportException
            && (hasExpectedMessage(cause, "Socket is closed by peer")
                || hasExpectedMessage(cause, "Read call frame size failed")))
        || (cause instanceof IOException
            && (hasExpectedMessage(cause, "Connection reset by peer")
                || hasExpectedMessage(cause, "Broken pipe")))
        || (cause instanceof ConnectException && hasExpectedMessage(cause, "Connection refused"));
  }
Determine whether the target node has gone offline once based on the cause.

@param cause Throwable
@return true/false
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/client/ThriftClient.java