GitHub user peter-griffiths opened a pull request:
https://github.com/apache/ignite/pull/660 IGNITE-3035 Postgres mssql JDBC discovery fix
Updated the TcpDiscoveryJdbcIpFinder class to work with Postgres and Microsoft SQL Server while maintaining the fix for Oracle databases introduced with IGNITE-1993.
The issue stemmed from the fact that the DatabaseMetaData.getTables(...) table name value has to be upper case for Oracle, but ran case sensitively for other databases such as Postgres. This meant the TcpDiscoveryJdbcIpFinder always failed to correctly determine if the "TBL_ADDRS" table already existed before trying and failing to create it again. The table creation failures caused an aborted transaction and subsequent SQL queries to fail with "ERROR: current transaction is aborted, commands ignored until end of transaction block".
The fix is to create the and table in the database in upper case.
You can merge this pull request into a Git repository by running:
$ git pull
https://github.com/peter-griffiths/ignite ignite-3035-postgres-mssql
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/ignite/pull/660.patchTo close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #660
----
----
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at
[hidden email] or file a JIRA ticket
with INFRA.
---