users@glassfish.java.net

Re: EJB Timer, JPA Entities, XA Transaction Glassfishv3 stops flushing updates.

From: Mitesh Meswani <mitesh.meswani_at_oracle.com>
Date: Mon, 28 Jun 2010 15:08:33 -0700

>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
The "random amount of time" part above seems puzzling to me. To narrow
down the culprit, can you try running your app against GlassFish V2 but
using EclipseLink as the JPA provider?

Thanks,
Mitesh
  On 6/25/2010 1:24 AM, glassfish_at_javadesktop.org wrote:

> 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
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_glassfish.dev.java.net
> For additional commands, e-mail: users-help_at_glassfish.dev.java.net
>
>