Uploaded image for project: 'OpenJPA'
  1. OpenJPA
  2. OPENJPA-2407

Errors using MySql Cluster not present using HSqlDb (build-time enhancement and executing query)

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Invalid
    • 2.2.2
    • None
    • Enhance
    • None
    • Windows 8 using MySql Cluster

    Description

      Hi,

      I'm seeing some problems when my persistence.xml is populated with details for MySql Cluster - but when I work against HSqlDb everything is working great.

      First issue during build-time enhancement:
      I get the following even though I don't have any @Embeddables in my code
      [openjpac] 407 testdb ERROR [main] openjpa.Enhance - The identity field defined in the code.shared.DataBean Embeddable is not supported.

      Someone else has also encountered this issue: http://stackoverflow.com/questions/16619860/openjpa-enhance-the-identity-field-defined-in-the-0-embeddable-is-not-suppo

      Second issue at runtime:
      During the second invocation of a method that should return everything from a table I get the following stacktrace:
      1797 testdb TRACE [main] openjpa.jdbc.JDBC - <t 488448102, conn 0> [1 ms] close
      <openjpa-2.2.2-r422266:1468616 nonfatal general error> org.apache.openjpa.persistence.PersistenceException: null
      at org.apache.openjpa.kernel.QueryImpl.compileForCompilation(QueryImpl.java:625)
      at org.apache.openjpa.kernel.QueryImpl.compileForExecutor(QueryImpl.java:682)
      at org.apache.openjpa.kernel.QueryImpl.getOperation(QueryImpl.java:1529)
      at org.apache.openjpa.kernel.DelegatingQuery.getOperation(DelegatingQuery.java:124)
      at org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:280)
      at org.apache.openjpa.persistence.QueryImpl.getResultList(QueryImpl.java:302)
      at test.OpenJpaTest.findAll(OpenJpaTest.java:60)
      at test.OpenJpaTest.findAllAndAssertSizeOfOne(OpenJpaTest.java:65)
      at test.OpenJpaTest.test(OpenJpaTest.java:45)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at java.lang.reflect.Method.invoke(Unknown Source)
      at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)
      at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
      at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
      at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
      at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)
      at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)
      at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)
      at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
      at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
      at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
      at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
      at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
      at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
      at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
      at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
      at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
      at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
      at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
      at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
      Caused by: java.lang.NullPointerException
      at org.apache.openjpa.kernel.ExpressionStoreQuery.newCompilation(ExpressionStoreQuery.java:154)
      at org.apache.openjpa.kernel.QueryImpl.newCompilation(QueryImpl.java:672)
      at org.apache.openjpa.kernel.QueryImpl.compilationFromCache(QueryImpl.java:654)
      at org.apache.openjpa.kernel.QueryImpl.compileForCompilation(QueryImpl.java:620)
      ... 31 more

      My persistence.xml
      <?xml version="1.0"?>
      <persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.0">
      <persistence-unit name="testdb" transaction-type="RESOURCE_LOCAL">
      <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
      <class>code.TestDataBean</class>
      <class>code.shared.DataBean</class>
      <class>code.shared.AbstractDataBean</class>
      <properties>
      <!-- HSqlDb -->
      <!--
      <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema" />
      <property name="openjpa.ConnectionURL" value="jdbc:hsqldb:testdb" />
      <property name="openjpa.ConnectionDriverName" value="org.hsqldb.jdbcDriver" />
      <property name="openjpa.ConnectionUserName" value="sa" />
      <property name="openjpa.ConnectionPassword" value="" />
      <property name="openjpa.Log" value="DefaultLevel=TRACE" />
      -->
      <!-- MySql Cluster port 5000 -->
      <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema" />
      <property name="openjpa.ConnectionDriverName" value="com.mysql.jdbc.Driver" />
      <property name="openjpa.ConnectionURL" value="jdbc:mysql://localhost:5000/clusterdb" />
      <property name="openjpa.ConnectionUserName" value="root" />
      <property name="openjpa.ConnectionPassword" value="" />
      <property name="openjpa.BrokerFactory" value="ndb" />
      <property name="openjpa.jdbc.DBDictionary" value="TableType=ndb"/>
      <property name="openjpa.ndb.connectString" value="localhost:1186" />
      <property name="openjpa.ndb.database" value="clusterdb" />
      <property name="openjpa.Log" value="DefaultLevel=TRACE" />
      </properties>
      </persistence-unit>
      </persistence>

      Attachments

        1. sandbox-mysqlc4.zip
          8.70 MB
          Serdyn du Toit
        2. sandbox-mysqlc6-openjpa1.zip
          8.52 MB
          Serdyn du Toit
        3. sandbox-mysqlc08.zip
          9.15 MB
          Serdyn du Toit
        4. sandbox-mysqlc10.zip
          9.14 MB
          Serdyn du Toit
        5. sandbox-mysqlc16.zip
          9.16 MB
          Serdyn du Toit

        Activity

          People

            Unassigned Unassigned
            dutoitns Serdyn du Toit
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: