I have a timer which reads entities A from database A and which creates or if it already exists updates entities B in database B. This timer ran for over a year in glassfishv2 with no problem.
After moving the application to glassfishv3 (now 3.0.1) updates to entity B stop been flushed to database B after a random amount of time (1 - 12 hours) while the respective update to entity A in database A is flushed (this is within an XA transaction). The crazy thing is the inserts for new entities B are flushed to database B correctly even when the updates are not. To make it even more arbitrary when the majority of updates stop flushing one or two may be flushed per hour
If I later manually update records in database A so that they are picked up by this timer they are correctly updated in database B until the updates stop working again.
I have disabled object and query cache in eclipselink to see if that made any difference and I turned logging to FINE and no exceptions are been thrown.
Database A is MySQL and database B is Oracle. The connection pools are configured the same as they were for glassfishv2.
What could be causing this strange behaviour and what can I do to try and debug it?
Here is a grep for the eclipselink SQL commands from the log files showing updates stopping but inserts continuing:
-bash-3.00# grep "INSERT INTO AccountSession" server.log_2010-06-24T19-* | wc -l
823
-bash-3.00# grep "INSERT INTO AccountSession" server.log_2010-06-24T20-* | wc -l
1056
-bash-3.00# grep "INSERT INTO AccountSession" server.log_2010-06-24T21-* | wc -l
1427
-bash-3.00# grep "INSERT INTO AccountSession" server.log_2010-06-24T22-* | wc -l
966
-bash-3.00# grep "INSERT INTO AccountSession" server.log_2010-06-24T23-* | wc -l
1132
-bash-3.00# grep "UPDATE AccountSession" server.log_2010-06-24T19-* | wc -l
8401
-bash-3.00# grep "UPDATE AccountSession" server.log_2010-06-24T20-* | wc -l
8895
-bash-3.00# grep "UPDATE AccountSession" server.log_2010-06-24T21-* | wc -l
5731
-bash-3.00# grep "UPDATE AccountSession" server.log_2010-06-24T22-* | wc -l
1616
-bash-3.00# grep "UPDATE AccountSession" server.log_2010-06-24T23-* | wc -l
1
[Message sent by forum member 'justinwyer']
http://forums.java.net/jive/thread.jspa?messageID=475780