We are reading the data from Teradata table using JDBC driver from a java application via connection pools.
We are getting the error "3514 - User-generated transaction ABORT" for all the queries though the query returns the proper output.
Please let me know the root cause and resolution for the issue.
The Teradata Database returns Error 3514 when the application executes the ABORT command (in TERA mode) or the ROLLBACK command (in ANSI mode).
When the application calls the Teradata JDBC Driver's Connection.rollback method, the JDBC Driver executes the ABORT or ROLLBACK command depending on the mode, and the JDBC Driver ignores the resulting Error 3514.
However, in each of those cases, the Error 3514 will be logged in DBQL, if you have query logging enabled.
Some connection pool managers always call the JDBC Driver's Connection.rollback method as a precautionary measure when the application returns a connection to the pool. The purpose of that connection pool functionality is to ensure that the pooled connection remains usable for the next time, even if your application is badly behaved, and leaves a transaction open when returning the connection to the pool.