This error comes from the JDBC driver inside of the Narayana. Narayana recommends not to use the JDBC driver (https://jbossts.blogspot.com/2017/12/narayana-jdbc-transactional-driver.html
) for systems of a higher load. The connection pooling should be configured rather with some pooling library like Agroal (https://github.com/agroal/agroal
) - a library that Narayana is integrated with but for Spring Boot there could be something more (I'm not so familiar with Spring Boot ecosystem). When you switch the pooling library I assume that could help.
Anyway, the exception predicts that the application uses multiple connections to database and the same connection is used by different transactions. The JDBC requires one connection per transaction (basically per thread ). As we can see the exception in your case the connection has to be reused by different transaction somewhere, maybe not closed while reused, the JDBC driver does not reset transaction association or there is some misconfiguration. I'm not sure here.
It would be great if you can provide us some reproducer and we could investigate on the issue.