openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Serdyn du Toit (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (OPENJPA-2407) Errors using MySql Cluster not present using HSqlDb (build-time enhancement and executing query)
Date Sat, 06 Jul 2013 07:27:48 GMT

    [ 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

Mime
View raw message