openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "fabio martelli (JIRA)" <j...@apache.org>
Subject [jira] [Created] (OPENJPA-2302) Slice support for QueryCompilationCache
Date Mon, 10 Dec 2012 11:19:22 GMT
fabio martelli created OPENJPA-2302:
---------------------------------------

             Summary: Slice support for QueryCompilationCache
                 Key: OPENJPA-2302
                 URL: https://issues.apache.org/jira/browse/OPENJPA-2302
             Project: OpenJPA
          Issue Type: Improvement
          Components: slice
    Affects Versions: 2.2.1, 2.3.0
            Reporter: fabio martelli
             Fix For: 2.3.0


It seems that slice doesn't support QueryCompilationCache.
By running the following test case ...

public class TestQueryCompilationCache extends SliceTestCase {

    /**
     * Specify persistence unit name as System property
     * <code>-Dunit</code> or use the default value as
     * <code>"slice"</code>.
     */
    protected String getPersistenceUnitName() {
        return System.getProperty("unit", "slice");
    }

    @Override
    public void setUp() {
        super.setUp(PObject.class,
                "openjpa.QueryCompilationCache", "true");
    }

    public void testQueryCompilationCache()
            throws Exception {

        OpenJPAEntityManager em = emf.createEntityManager();

        em.getTransaction().begin();
        em.createQuery("SELECT o from PObject o").getResultList();
        em.getTransaction().commit();
        em.close();

        em = emf.createEntityManager();
        em.createQuery("SELECT o from PObject o").getResultList();
        em.close();

        emf.close();
    }
}

The following exception will be raised.

testQueryCompilationCache(org.apache.openjpa.slice.TestQueryCompilationCache)  Time elapsed:
1.923 sec  <<< ERROR!
<openjpa-2.3.0-SNAPSHOT-r422266:1416742 nonfatal general error> org.apache.openjpa.persistence.PersistenceException:
The context has been closed.  The stack trace at which the context was closed is available
if Runtime=TRACE logging is enabled.
	at org.apache.openjpa.slice.jdbc.DistributedStoreQuery$ParallelExecutor.executeQuery(DistributedStoreQuery.java:156)
	at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:1005)
	at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:863)
	at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:794)
	at org.apache.openjpa.slice.DistributedQueryImpl.execute(DistributedQueryImpl.java:61)
	at org.apache.openjpa.kernel.DelegatingQuery.execute(DelegatingQuery.java:542)
	at org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:286)
	at org.apache.openjpa.persistence.QueryImpl.getResultList(QueryImpl.java:302)
	at org.apache.openjpa.slice.TestQueryCompilationCache.testQueryCompilationCache(TestQueryCompilationCache.java:57)
	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:597)
	at junit.framework.TestCase.runTest(TestCase.java:154)
	at junit.framework.TestCase.runBare(TestCase.java:127)
	at junit.framework.TestResult$1.protect(TestResult.java:106)
	at junit.framework.TestResult.runProtected(TestResult.java:124)
	at junit.framework.TestResult.run(TestResult.java:109)
	at junit.framework.TestCase.run(TestCase.java:118)
	at org.apache.openjpa.slice.PersistenceTestCase.run(PersistenceTestCase.java:124)
	at junit.framework.TestSuite.runTest(TestSuite.java:208)
	at junit.framework.TestSuite.run(TestSuite.java:203)
	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:597)
	at org.apache.maven.surefire.junit.JUnitTestSet.execute(JUnitTestSet.java:213)
	at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:115)
	at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:102)
	at org.apache.maven.surefire.Surefire.run(Surefire.java:180)
	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:597)
	at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:350)
	at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1021)
Caused by: <openjpa-2.3.0-SNAPSHOT-r422266:1416742 fatal user error> org.apache.openjpa.persistence.InvalidStateException:
The context has been closed.  The stack trace at which the context was closed is available
if Runtime=TRACE logging is enabled.
	at org.apache.openjpa.kernel.BrokerImpl.assertOpen(BrokerImpl.java:4683)
	at org.apache.openjpa.kernel.QueryImpl.assertOpen(QueryImpl.java:1700)
	at org.apache.openjpa.kernel.QueryImpl.isUnique(QueryImpl.java:453)
	at org.apache.openjpa.jdbc.kernel.JDBCStoreQuery.calculateEagerMode(JDBCStoreQuery.java:483)
	at org.apache.openjpa.jdbc.kernel.JDBCStoreQuery.executeQuery(JDBCStoreQuery.java:174)
	at org.apache.openjpa.kernel.ExpressionStoreQuery$DataStoreExecutor.executeQuery(ExpressionStoreQuery.java:783)
	at org.apache.openjpa.slice.jdbc.DistributedStoreQuery$QueryExecutor.call(DistributedStoreQuery.java:273)
	at org.apache.openjpa.slice.jdbc.DistributedStoreQuery$QueryExecutor.call(DistributedStoreQuery.java:266)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:680)


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message