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

  1. The command-line parameter connectiontimeout can be increased.
  2. 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:
  3. Don't be idle
Driver Parameter
JDBC metadataSQL=1
ODBC LEGACYCATALOG=Y
ADO.NET no workaround
WebSockets not affected