Atomikos Forum |
|
2008-10-09 15:18:58,435 WARN Atomikos:134 [atomikos] Error in non-XA commit
java.util.ConcurrentModificationException at java.util.HashMap$HashIterator.nextEntry(HashMap.java:793) at java.util.HashMap$EntryIterator.next(HashMap.java:834) at java.util.HashMap$EntryIterator.next(HashMap.java:832) at com.atomikos.jdbc.nonxa.AtomikosNonXADataSourceBean.onXPooledConnectionTerminated(Unknown Source) at com.atomikos.datasource.pool.AbstractXPooledConnection.fireOnXPooledConnectionTerminated(Unknown Source) at com.atomikos.jdbc.nonxa.AtomikosNonXAPooledConnection.fireOnXPooledConnectionTerminated(Unknown Source) at com.atomikos.jdbc.nonxa.AtomikosThreadLocalConnection.checkReusability(AtomikosThreadLocalConnection.java:311) at com.atomikos.jdbc.nonxa.AtomikosThreadLocalConnection.transactionTerminated(AtomikosThreadLocalConnection.java:364) at com.atomikos.jdbc.nonxa.AtomikosNonXAParticipant.commit(Unknown Source) at com.atomikos.icatch.imp.CommitMessage.send(Unknown Source) at com.atomikos.icatch.imp.PropagationMessage.submit(Unknown Source) at com.atomikos.icatch.imp.Propagator$PropagatorThread.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) at java.lang.Thread.run(Thread.java:619) 2008-10-09 15:18:58,435 WARN Atomikos:134 [atomikos] Unexpected error in commit com.atomikos.icatch.HeurHazardException: Heuristic Exception at com.atomikos.jdbc.nonxa.AtomikosNonXAParticipant.commit(Unknown Source) at com.atomikos.icatch.imp.CommitMessage.send(Unknown Source) at com.atomikos.icatch.imp.PropagationMessage.submit(Unknown Source) at com.atomikos.icatch.imp.Propagator$PropagatorThread.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) at java.lang.Thread.run(Thread.java:619)
Today I try fix it myself.
(Cannot wait longer for next release.) And I maybe discovered next bug. In file AtomikosNonXADataSourceBean.java is property private HashMap previousConnections; and later in code previousConnections = new HashMap(); If I am right and this Map is accessed from more threads, then it must be : private Map previousConnections; previousConnections = Collections.synchronizedMap(new HashMap()); Else bad things happens :-) |