deniskuzZ commented on code in PR #6412:
URL: https://github.com/apache/hive/pull/6412#discussion_r3527688322
##########
jdbc/src/java/org/apache/hive/jdbc/HiveStatement.java:
##########
@@ -398,20 +398,86 @@ private TGetOperationStatusResp waitForResultSetStatus()
throws SQLException {
return statusResp;
}
+ /**
+ * Returns the timeout message for a {@code TIMEDOUT_STATE} response.
+ * Uses the server error message when the SQL state is {@code HYT00}
("timeout expired"),
+ * which indicates that the server set a precise message. Otherwise falls
back to a
+ * locally derived message from {@link #setQueryTimeout(int)} or the
URL-seeded
+ * {@code hive.query.timeout.seconds} value on the connection.
+ */
+ private String sqlTimeoutMessageForTimedOutState(String serverMessage,
String sqlState) {
Review Comment:
can't we simply do this
````
/**
* Returns the timeout message for a {@code TIMEDOUT_STATE} response. The
server is authoritative:
* when the SQL state is {@code HYT00} ("timeout expired") it has set a
precise message that
* already reflects the effective {@code hive.query.timeout.seconds}, so
it is used verbatim.
* Otherwise (e.g. an older server) falls back to the per-statement {@link
#setQueryTimeout(int)}.
*/
private String sqlTimeoutMessageForTimedOutState(String serverMessage,
String sqlState) {
if ("HYT00".equals(sqlState) && StringUtils.isNotBlank(serverMessage)) {
return serverMessage;
}
if (queryTimeout > 0) {
return "Query timed out after " + queryTimeout + " seconds";
}
return "Query timed out";
}
````
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]