[hibernate-dev] The mail hudson job for Core fails

Steve Ebersole steve at hibernate.org
Wed Jun 9 01:28:26 EDT 2010


Adam, I think I found a little more.  So in CollectionMetadataGenerator
these enum sets are being routed through #addWithMiddleTable where we
seem to be creating audit entities for these collection-of-enums.

Is that what you expect?  Being largely naive in this code I was
surprised by that.

Anyway, the break down seems to happen in #addValueToMiddleTable when it
tries to call value.getType().  "value" is the
propertyValue.getElement() from #addWithMiddleTable, where
"propertyValue" is the set-of-enum property definition.  The problem is
that here the type parameters are null where as in earlier calls they
were not.  "propertyValue" seems to refer to the original mapping
instances here, not the audit maping instance, which I again found
surprising.

On Wed, 2010-06-09 at 00:05 -0500, Steve Ebersole wrote:
> For a reason I have been unable to track down, there are a series of
> later calls to get a type for these enums.  I say "later" because prior
> to this there are a number of successful calls.  The difference is that
> in the successful calls the types parameters used are actually
> populated; in the failing calls they are null.
> 
> I have to assume it is part of the process which creates the audit
> entities because similar tests in annotations are all passing.
> 
> Adam, could you help track this down?  Point me to where the properties
> and values are "copied" over for the audit entities?
> 
> But partially this goes to a larger question I had as well with regards
> to enum types.  So currently EnumType is a derivation of UserType.  And
> it is created over and over, rather than once per enum class.  Is it
> really possible/desirable to map a given enum different ways within an
> application?
> 
> There is quite a large implication is why I ask.
> 
> 
> On Wed, 2010-06-09 at 10:33 +0800, Strong Liu wrote:
> > here is the stacetrace, an envers test fails. and since this, the
> > downstream testsuite job will not be triggered.
> > ------------------
> > Error Message
> > Unable to build EntityManagerFactory
> > Stacktrace
> > javax.persistence.PersistenceException: Unable to build EntityManagerFactory
> > 	at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:896)
> > 	at org.hibernate.envers.test.AbstractEntityTest.init(AbstractEntityTest.java:94)
> > 	at org.hibernate.envers.test.AbstractEntityTest.init(AbstractEntityTest.java:82)
> > 	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.testng.internal.MethodHelper.invokeMethod(MethodHelper.java:580)
> > 	at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:398)
> > 	at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:145)
> > 	at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:82)
> > 	at org.testng.internal.TestMethodWorker.invokeBeforeClassMethods(TestMethodWorker.java:167)
> > 	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:104)
> > 	at org.testng.TestRunner.runWorkers(TestRunner.java:712)
> > 	at org.testng.TestRunner.privateRun(TestRunner.java:582)
> > 	at org.testng.TestRunner.run(TestRunner.java:477)
> > 	at org.testng.SuiteRunner.runTest(SuiteRunner.java:324)
> > 	at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:319)
> > 	at org.testng.SuiteRunner.privateRun(SuiteRunner.java:292)
> > 	at org.testng.SuiteRunner.run(SuiteRunner.java:198)
> > 	at org.testng.TestNG.createAndRunSuiteRunners(TestNG.java:821)
> > 	at org.testng.TestNG.runSuitesLocally(TestNG.java:788)
> > 	at org.testng.TestNG.run(TestNG.java:708)
> > 	at org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:74)
> > 	at org.apache.maven.surefire.testng.TestNGXmlTestSuite.execute(TestNGXmlTestSuite.java:92)
> > 	at org.apache.maven.surefire.Surefire.run(Surefire.java:177)
> > 	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:345)
> > 	at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1009)
> > Caused by: org.hibernate.MappingException: Unable to instantiate custom type: org.hibernate.type.EnumType
> > 	at org.hibernate.type.TypeFactory.custom(TypeFactory.java:187)
> > 	at org.hibernate.type.TypeFactory.custom(TypeFactory.java:174)
> > 	at org.hibernate.type.TypeFactory.byClass(TypeFactory.java:99)
> > 	at org.hibernate.type.TypeResolver.heuristicType(TypeResolver.java:130)
> > 	at org.hibernate.mapping.SimpleValue.getType(SimpleValue.java:297)
> > 	at org.hibernate.mapping.Column.getSqlTypeCode(Column.java:164)
> > 	at org.hibernate.mapping.Column.getSqlType(Column.java:208)
> > 	at org.hibernate.mapping.Table.sqlTemporaryTableCreateString(Table.java:371)
> > 	at org.hibernate.mapping.PersistentClass.prepareTemporaryTables(PersistentClass.java:765)
> > 	at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:287)
> > 	at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1390)
> > 	at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:956)
> > 	at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:887)
> > 	... 31 more
> > Caused by: java.lang.NullPointerException
> > 	at org.hibernate.type.EnumType.setParameterValues(EnumType.java:200)
> > 	at org.hibernate.type.TypeFactory.injectParameters(TypeFactory.java:127)
> > 	at org.hibernate.type.TypeFactory.custom(TypeFactory.java:183)
> > 	... 43 more
> > Caused by: org.hibernate.MappingException: Unable to instantiate custom type: org.hibernate.type.EnumType
> > 	at org.hibernate.type.TypeFactory.custom(TypeFactory.java:187)
> > 	at org.hibernate.type.TypeFactory.custom(TypeFactory.java:174)
> > 	at org.hibernate.type.TypeFactory.byClass(TypeFactory.java:99)
> > 	at org.hibernate.type.TypeResolver.heuristicType(TypeResolver.java:130)
> > 	at org.hibernate.mapping.SimpleValue.getType(SimpleValue.java:297)
> > 	at org.hibernate.mapping.Column.getSqlTypeCode(Column.java:164)
> > 	at org.hibernate.mapping.Column.getSqlType(Column.java:208)
> > 	at org.hibernate.mapping.Table.sqlTemporaryTableCreateString(Table.java:371)
> > 	at org.hibernate.mapping.PersistentClass.prepareTemporaryTables(PersistentClass.java:765)
> > 	at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:287)
> > 	at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1390)
> > 	at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:956)
> > 	at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:887)
> > 	... 31 more
> > Caused by: java.lang.NullPointerException
> > 	at org.hibernate.type.EnumType.setParameterValues(EnumType.java:200)
> > 	at org.hibernate.type.TypeFactory.injectParameters(TypeFactory.java:127)
> > 	at org.hibernate.type.TypeFactory.custom(TypeFactory.java:183)
> > 	... 43 more
> > 
> > 
> > 
> > -------------------------
> > Best Regards,
> > 
> > Strong Liu <stliu at redhat.com>
> > 
> > 
> > 
> > 
> > On Jun 9, 2010, at 10:21 AM, Steve Ebersole wrote:
> > 
> > > What exactly failed?  There is no workspace and running the builds
> > > (core, testing, testsuite) locally succeed.
> > > 
> > > On Wed, 2010-06-09 at 09:40 +0800, Strong Liu wrote:
> > > > http://hudson.jboss.org/hudson/view/hibernate/job/hibernate-core-trunk/
> > > > 
> > > > -------------------------
> > > > Best Regards,
> > > > 
> > > > Strong Liu <stliu at redhat.com>
> > > > 
> > > > 
> > > > 
> > > > _______________________________________________
> > > > hibernate-dev mailing list
> > > > hibernate-dev at lists.jboss.org
> > > > https://lists.jboss.org/mailman/listinfo/hibernate-dev
> > > 
> > > -- 
> > > Steve Ebersole <steve at hibernate.org>
> > > http://hibernate.org
> > > 
> > > 
> > 
> 

-- 
Steve Ebersole <steve at hibernate.org>
http://hibernate.org




More information about the hibernate-dev mailing list