Execution of metadata commands may be still possible for sessions with expired connection timeout
Details
| Detail name | Value |
|---|---|
| Changelog Number | 8766 |
| Type | Bug |
| Status | Resolved |
| Affected Versions | Exasol 6.1.0, Exasol 6.2.0 |
| Fix Versions | Exasol 7.1.0 |
| Resolution Date | 2021-08-03 |
Background
Sessions that are idle for 24 hours (default value for database parameter connectiontimeout) will be disconnected if they don't have an open transaction. After this a reconnect is not possible anymore.
Problem
Due to a bug in the database, metadata commands may be still executed for these sessions in some cases. If a command is executed that needs an active session slot (e.g. creation of a prepared statement), you will receive a "Connection lost" exception.
Workarounds
- The command-line parameter connectiontimeout can be increased.
- Another workaround is to force the driver to send metadata commands as SQL statements. This will reduce the speed of metadata commands. To do so, add the following parameter to the connection string:
- Don't be idle
| Driver | Parameter |
|---|---|
| JDBC | metadataSQL=1 |
| ODBC | LEGACYCATALOG=Y |
| ADO.NET |
|
| WebSockets |
|