-
Notifications
You must be signed in to change notification settings - Fork 25.6k
Closed
Labels
:Analytics/SQLSQL queryingSQL querying>bugTeam:QL (Deprecated)Meta label for query languages teamMeta label for query languages team
Description
The documentation for the ES JDBC driver states that all timeout system properties (like query.timeout) are parsed as seconds. This is currently not the case.
E.g. the following program
public class Main {
public static void main(String[] args) {
Properties props = new Properties();
props.put("query.timeout", "10");
props.put("page.timeout", "20");
props.put("binary.format", "false");
try (Connection conn = DriverManager.getConnection("jdbc:es://localhost:9202/", props);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT 1");) {
rs.next();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
triggers a request with the body
{
"binary_format": false,
"columnar": false,
"field_multi_value_leniency": true,
"keep_alive": "5d",
"mode": "jdbc",
"page_timeout": "10ms",
"query": "SELECT 1",
"request_timeout": "20ms",
"time_zone": "Europe/Zurich",
"version": "7.14.0"
}
The same issue probably applies to the other timeout properties.
Also, the properties are treated as ms when read from the connection URL as in jdbc:es://localhost:9202/?query.timeout=10.
If the queryTimeout is set with Statement.setQueryTimeout it is interpreted in seconds as expected by the JDBC specs.
Metadata
Metadata
Assignees
Labels
:Analytics/SQLSQL queryingSQL querying>bugTeam:QL (Deprecated)Meta label for query languages teamMeta label for query languages team