[
https://issues.apache.org/jira/browse/CAMEL-13951?focusedWorklogId=308661&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-308661
]
ASF GitHub Bot logged work on CAMEL-13951:
------------------------------------------
Author: ASF GitHub Bot
Created on: 09/Sep/19 07:39
Start Date: 09/Sep/19 07:39
Worklog Time Spent: 10m
Work Description: grgrzybek commented on pull request #3155: CAMEL-13951:
Expose setter for transaction propagation using name. Fi…
URL: https://github.com/apache/camel/pull/3155
…x tests
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
Issue Time Tracking
-------------------
Worklog Id: (was: 308661)
Remaining Estimate: 0h
Time Spent: 10m
> JdbcAggregationRepository doesn't work with PostgreSQL
> ------------------------------------------------------
>
> Key: CAMEL-13951
> URL: https://issues.apache.org/jira/browse/CAMEL-13951
> Project: Camel
> Issue Type: Improvement
> Components: camel-sql
> Affects Versions: 2.24.1, 3.0.0.RC1
> Reporter: Grzegorz Grzybek
> Assignee: Grzegorz Grzybek
> Priority: Major
> Fix For: 3.0.0, 2.24.2, 2.25.0, 3.0.0.RC2
>
> Time Spent: 10m
> Remaining Estimate: 0h
>
> See:
> *
> https://www.postgresql.org/message-id/200609241203.59292.ralf.wiebicke%40exedio.com
> *
> https://groups.google.com/forum/#!msg/comp.databases.postgresql/NuXGXdFbA4g/LQ97ahowmxkJ
> *
> https://www.progress.com/blogs/solution-to-current-transaction-is-aborted-error-for-postgresql-compatibility-with-odbc-jdbc
> The problem is that JdbcAggregationRepository relies heavily on spring-jdbc's
> throwing org.springframework.dao.DataIntegrityViolationException according to
> its sql exception mapping.
> By default, DataIntegrityViolationException is thrown if SQLState starts with
> {{23}}. Check https://www.postgresql.org/docs/10/errcodes-appendix.html and
> see that:
> bq. 23505: unique_violation
> The _problem_ specific to PostgreSQL is that hitting such exception makes the
> connection (and surrounding Spring transaction) unusable. There's no way to
> _repeat_ an attempt to insert (or even check current) state of aggregation,
> because PostgreSQL will immediately throw:
> {noformat}
> Caused by: org.postgresql.util.PSQLException: ERROR: current transaction is
> aborted, commands ignored until end of transaction block
> at
> org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2468)
> at
> org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2211)
> at
> org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:309)
> at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:446)
> ...
> {noformat}
> With SQLState - {{25P02}} == "in_failed_sql_transaction".
> The expected (by PostgreSQL) behavior is to rollback current transaction and
> start over.
> We're however in (potentially nested) TransactionTemplate and _rollback only_
> status is beyond (easy) control.
--
This message was sent by Atlassian Jira
(v8.3.2#803003)