Have you tried setting trimStackTrace to false in pom.xml?  It should look
something like this :

   <build>
       <plugins>
           . . .
           <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-surefire-plugin</artifactId>
               <configuration>
                   <trimStackTrace>false</trimStackTrace>
               </configuration>
           </plugin>
           . . .
       </plugins>
   </build>


On 1/10/07, Dain Sundstrom <[EMAIL PROTECTED]> wrote:

Finally got some time to dig into this.  The problem was I was
attempting to create a bean that already existed (a bug in my test
case).  It is possible to get the original SQL exception message out
of JPA, so I could know that I was getting a duplicate key?

-dain

On Jan 4, 2007, at 10:29 AM, Dain Sundstrom wrote:

> I'm getting this exception printed to my log, but my tests work.
> Is my test doing something wrong?
>
> <2|false|0.9.6-incubating>
> org.apache.openjpa.util.OptimisticException: Optimistic locking
> errors were detected when flushing to the data store.  The
> following objects may have been concurrently modified in another
> transaction:
> [EMAIL PROTECTED]
>         at org.apache.openjpa.kernel.BrokerImpl.newFlushException
> (BrokerImpl.java:2077)
>         at org.apache.openjpa.kernel.BrokerImpl.flush
> (BrokerImpl.java:1927)
>         at org.apache.openjpa.kernel.BrokerImpl.flushSafe
> (BrokerImpl.java:1825)
>         at org.apache.openjpa.kernel.BrokerImpl.beforeCompletion
> (BrokerImpl.java:1756)
>         at org.apache.openejb.core.TransactionManagerWrapper
> $TransactionWrapper.beforeCompletion(TransactionManagerWrapper.java:
> 194)
>         at
> org.apache.geronimo.transaction.manager.TransactionImpl.beforeCompleti
> on(TransactionImpl.java:515)
>         at
> org.apache.geronimo.transaction.manager.TransactionImpl.beforePrepare(
> TransactionImpl.java:399)
>         at
> org.apache.geronimo.transaction.manager.TransactionImpl.commit
> (TransactionImpl.java:256)
>         at
> org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(
> TransactionManagerImpl.java:264)
>         at org.apache.openejb.core.TransactionManagerWrapper.commit
> (TransactionManagerWrapper.java:58)
>         at
> org.apache.openejb.test.entity.cmr.AbstractCMRTest.completeTransaction
> (AbstractCMRTest.java:57)
>         at
> org.apache.openejb.test.entity.cmr.OneToOneTests.test07_BSetAExistingB
> NewA(OneToOneTests.java:154)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke
> (NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke
> (DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at org.apache.openejb.test.NumberedTestCase.runTestMethod
> (NumberedTestCase.java:135)
>         at org.apache.openejb.test.NumberedTestCase$1.protect
> (NumberedTestCase.java:120)
>         at junit.framework.TestResult.runProtected(TestResult.java:
> 128)
>         at org.apache.openejb.test.NumberedTestCase.run
> (NumberedTestCase.java:123)
>         at org.apache.openejb.test.NumberedTestCase.run
> (NumberedTestCase.java:102)
>         at org.apache.openejb.test.TestSuite.run(TestSuite.java:46)
>         at org.apache.openejb.test.TestSuite.run(TestSuite.java:46)
>         at org.apache.openejb.test.TestSuite.run(TestSuite.java:46)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke
> (NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke
> (DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at org.apache.maven.surefire.junit.JUnitTestSet.execute
> (JUnitTestSet.java:210)
>         at
> org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTest
> Set(AbstractDirectoryTestSuite.java:135)
>         at
> org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute
> (AbstractDirectoryTestSuite.java:160)
>         at org.apache.maven.surefire.Surefire.run(Surefire.java:81)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke
> (NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke
> (DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at
> org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess
> (SurefireBooter.java:182)
>         at org.apache.maven.surefire.booter.SurefireBooter.main
> (SurefireBooter.java:743)
> Caused by: <2|false|0.9.6-incubating>
> org.apache.openjpa.util.OptimisticException: An optimistic lock
> violation was detected when flushing object instance
> "[EMAIL PROTECTED]" to
> the data store.  This indicates that the object was concurrently
> modified in another transaction.
> FailedObject:
> [EMAIL PROTECTED]
>         at
> org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flushInter
> nal(PreparedStatementManagerImpl.java:96)
>         at
> org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flush
> (PreparedStatementManagerImpl.java:68)
>         at
> org.apache.openjpa.jdbc.kernel.OperationOrderUpdateManager.flushPrimar
> yRow(OperationOrderUpdateManager.java:200)
>         at
> org.apache.openjpa.jdbc.kernel.OperationOrderUpdateManager.flush
> (OperationOrderUpdateManager.java:86)
>         at
> org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush
> (AbstractUpdateManager.java:86)
>         at
> org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush
> (AbstractUpdateManager.java:69)
>         at org.apache.openjpa.jdbc.kernel.JDBCStoreManager.flush
> (JDBCStoreManager.java:511)
>         at org.apache.openjpa.kernel.DelegatingStoreManager.flush
> (DelegatingStoreManager.java:127)
>         ... 37 more




--
-Michael Dick

Reply via email to