[ 
https://issues.apache.org/jira/browse/OPENJPA-2407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13701272#comment-13701272
 ] 

Serdyn du Toit commented on OPENJPA-2407:
-----------------------------------------

yep, it works with OpenJpa version 1.  I'm going to revert to using OpenJpa 
version 1 so that I can move forward with my work.  I'm not saying there's 
something wrong with OpenJpa version 2 - I know with complex code like this the 
most recent versions sometimes have small bugs (due to complexity and the 
pervasiveness of changes) so usually with my past experience with Hibernate I 
tended to use the previous version.  That, and I don't need the latest JPA 
stuff - what I do need is the MySql Cluster extensions to work since for 
certain queries it bypasses communication with MySql and communicates directly 
with the data nodes speeding things up (MySql Cluster is like MySql but it 
allows sharding across data nodes and still allows you to transactions and I 
think scales up linearly to 30 servers - awesome, though I'm only starting to 
use it now).  So in terms of that optimization, the communication of the data 
nodes, the latest OpenJpa isn't really going to make much of a difference.

I'm changing the priority of this bug to "Minor" from "Mayor" as its no longer 
blocking my work.
                
> Errors using MySql Cluster not present using HSqlDb (build-time enhancement 
> and executing query)
> ------------------------------------------------------------------------------------------------
>
>                 Key: OPENJPA-2407
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-2407
>             Project: OpenJPA
>          Issue Type: Bug
>          Components: Enhance
>    Affects Versions: 2.2.2
>         Environment: Windows 8 using MySql Cluster
>            Reporter: Serdyn du Toit
>         Attachments: sandbox-mysqlc4.zip
>
>
> 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>

--
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

Reply via email to