[ 
https://issues.apache.org/jira/browse/LOG4J2-2715?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17487711#comment-17487711
 ] 

ASF subversion and git services commented on LOG4J2-2715:
---------------------------------------------------------

Commit 910f5812c836aa0afeb4ffde1c9da9f8c3e878a3 in logging-log4j2's branch 
refs/heads/release-2.x from Gary Gregory
[ https://gitbox.apache.org/repos/asf?p=logging-log4j2.git;h=910f581 ]

[LOG4J2-2715]
JDBCAppender commits to the DB a JTA RollbackOnly transaction and causes
DB inconsistency.

Update documentation.


> JDBCAppender commits to the DB a JTA RollbackOnly transaction and causes DB 
> inconsistency
> -----------------------------------------------------------------------------------------
>
>                 Key: LOG4J2-2715
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-2715
>             Project: Log4j 2
>          Issue Type: Bug
>          Components: Appenders, JDBC
>    Affects Versions: 2.9.1, 2.12.1
>         Environment: Container Payara 5.183,
> Application: EAR using EJB 3, Hibernate 5.3.6-FINAL
> JDBC Driver: Oracle Driver ojdbc8
>            Reporter: David Obber
>            Priority: Critical
>
> I'm using log4j2 in a Payara 5.183 server and I've enabled a JDBC Appender 
> connected to a JNDI datasource.
> <JDBC name="DBAppender" tableName="LOG_TABLE">
>     <DataSource jndiName="myJNDI"></DataSource>
>     <Column ..." />   
>      <Column ..." />
> </JDBC>
> The same datasource is used by the application to talk with the db. If the 
> application, that uses EJB3, marks the transaction to be rolled back 
> (sessionContext.setRollbackOnly()), each statement sent to the database 
> (flush(), executeUpdate()) inside the transaction must not be committed.
> What happens is that using the *jdbc appender* causes a commit that 
> *{color:#de350b}writes to the database everything{color}*, *causing database 
> inconsistency*.
> Using DriverManager instead of a JNDI works fine, but I don't know if I can 
> set a connection pool with it.
>  
> When log4j is inside a JTA transaction it should use another JDBC connection 
> to log.
>  
>  
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to