[Hibernate] hibernate-oracle10-testsuite Build Completed With Testsuite Errors
View results here -> http://cruisecontrol.jboss.com/cc/buildresults/hibernate-oracle10-testsuite?log=log20060329015807 TESTS FAILEDAnt Error Message: /home/cruisecontrol/work/scripts/build-hibernate-db-matrix.xml:99: The following error occurred while executing this line: /home/cruisecontrol/work/scripts/build-hibernate-db-matrix.xml:76: The following error occurred while executing this line: /home/cruisecontrol/work/scripts/build-common-targets.xml:11: Build Successful - Tests completed with errors or failures.Date of build: 03/29/2006 01:58:07Time to build: 16 minutes 47 seconds Unit Tests: (826) Total Errors and Failures: (10)testSequenceIdentityGeneratororg.hibernate.test.generatedkeys.seqidentity.SequenceIdentityTesttestReturnPropertyComponentRenameorg.hibernate.test.legacy.SQLLoaderTesttestReadOnlyOnProxiesFailureExpectedorg.hibernate.test.readonly.ReadOnlyTesttestResultTransformerScalarQueriesorg.hibernate.test.hql.ASTParserLoadingTesttestEmptyInListFailureExpectedorg.hibernate.test.hql.HQLTesttestMaxindexHqlFunctionInElementAccessorFailureExpectedorg.hibernate.test.hql.HQLTesttestMultipleElementAccessorOperatorsFailureExpectedorg.hibernate.test.hql.HQLTesttestKeyManyToOneJoinFailureExpectedorg.hibernate.test.hql.HQLTesttestDuplicateExplicitJoinFailureExpectedorg.hibernate.test.hql.HQLTesttestCollectionFetchVsLoadorg.hibernate.test.stats.StatsTest Modifications since last build: (first 50 of 0)
[Hibernate] hibernate-sybase-testsuite Build Timed Out
View results here -> http://cruisecontrol.jboss.com/cc/buildresults/hibernate-sybase-testsuite?log=log20060328225807 BUILD TIMED OUTAnt Error Message: build timeoutDate of build: 03/28/2006 22:58:07Time to build: Unit Tests: (0) Total Errors and Failures: (0) Modifications since last build: (first 50 of 0)
[Hibernate] hibernate-timesten-testsuite Build Completed With Testsuite Errors
View results here -> http://cruisecontrol.jboss.com/cc/buildresults/hibernate-timesten-testsuite?log=log20060328223357 TESTS FAILEDAnt Error Message: /home/cruisecontrol/work/scripts/build-hibernate-db-matrix.xml:92: The following error occurred while executing this line: /home/cruisecontrol/work/scripts/build-hibernate-db-matrix.xml:76: The following error occurred while executing this line: /home/cruisecontrol/work/scripts/build-common-targets.xml:11: Build Successful - Tests completed with errors or failures.Date of build: 03/28/2006 22:33:57Time to build: 23 minutes 13 seconds Unit Tests: (824) Total Errors and Failures: (207)testCompositeIdsorg.hibernate.test.cid.CompositeIdTesttestNonLazyFetchorg.hibernate.test.cid.CompositeIdTesttestMultipleCollectionFetchorg.hibernate.test.cid.CompositeIdTesttestUpdateFalseorg.hibernate.test.component.ComponentTesttestComponentorg.hibernate.test.component.ComponentTesttestComponentFormulaQueryorg.hibernate.test.component.ComponentTesttestNamedQueryorg.hibernate.test.component.ComponentTesttestSerializationFailsOnAfterStatementAggressiveReleaseWithOpenResourcesorg.hibernate.test.connections.AggressiveReleaseTesttestConnectedSerializationorg.hibernate.test.connections.AggressiveReleaseTesttestManualDisconnectWithOpenResourcesorg.hibernate.test.connections.AggressiveReleaseTesttestConnectedSerializationorg.hibernate.test.connections.BasicConnectionProviderTesttestManualDisconnectWithOpenResourcesorg.hibernate.test.connections.BasicConnectionProviderTesttestSerializationFailsOnAfterStatementAggressiveReleaseWithOpenResourcesorg.hibernate.test.connections.CurrentSessionConnectionTesttestConnectedSerializationorg.hibernate.test.connections.CurrentSessionConnectionTesttestManualDisconnectWithOpenResourcesorg.hibernate.test.connections.CurrentSessionConnectionTesttestConnectedSerializationorg.hibernate.test.connections.SuppliedConnectionTesttestManualDisconnectWithOpenResourcesorg.hibernate.test.connections.SuppliedConnectionTesttestScrollCriteriaorg.hibernate.test.criteria.CriteriaQueryTesttestRestrictionOnSubclassCollectionorg.hibernate.test.criteria.CriteriaQueryTesttestClassPropertyorg.hibernate.test.criteria.CriteriaQueryTesttestCompositeUserTypeorg.hibernate.test.cut.CompositeUserTypeTesttestDom4jorg.hibernate.test.dom4j.Dom4jTesttestMapIndexEmisionorg.hibernate.test.dom4j.Dom4jTesttestStaleNonVersionedInstanceFoundOnLockorg.hibernate.test.ejb3.lock.RepeatableReadTesttestOrphanDeleteorg.hibernate.test.extralazy.ExtraLazyTesttestIndexFormulaMaporg.hibernate.test.extralazy.ExtraLazyTesttestCollectionJoinsInSubselectorg.hibernate.test.hql.ASTParserLoadingTesttestCollectionFetchWithDistinctionAndLimitorg.hibernate.test.hql.ASTParserLoadingTesttestNestedCollectionFetchorg.hibernate.test.hql.ASTParserLoadingTesttestSelectClauseSubselectorg.hibernate.test.hql.ASTParserLoadingTesttestImplicitPolymorphismorg.hibernate.test.hql.ASTParserLoadingTesttestCoalesceorg.hibernate.test.hql.ASTParserLoadingTesttestStrorg.hibernate.test.hql.ASTParserLoadingTesttestCastorg.hibernate.test.hql.ASTParserLoadingTesttestExtractorg.hibernate.test.hql.ASTParserLoadingTesttestOneToManyFilterorg.hibernate.test.hql.ASTParserLoadingTesttestSelectExpressionsorg.hibernate.test.hql.ASTParserLoadingTesttestWhereorg.hibernate.test.hql.ASTParserLoadingTesttestEntityFetchingorg.hibernate.test.hql.ASTParserLoadingTesttestCollectionFetchingorg.hibernate.test.hql.ASTParserLoadingTesttestStandardFunctionsorg.hibernate.test.hql.ASTParserLoadingTesttestDynamicInstantiationQueriesorg.hibernate.test.hql.ASTParserLoadingTesttestResultTransformerScalarQueriesorg.hibernate.test.hql.ASTParserLoadingTesttestResultTransformerEntityQueriesorg.hibernate.test.hql.ASTParserLoadingTesttestEJBQLFunctionsorg.hibernate.test.hql.ASTParserLoadingTesttestSubselectBetweenorg.hibernate.test.hql.ASTParserLoadingTesttestTempTableGenerationIsolationorg.hibernate.test.hql.BulkManipulationTesttestSimpleInsertorg.hibernate.test.hql.BulkManipulationTesttestSimpleNativeSQLInsertorg.hibernate.test.hql.BulkManipulationTesttestInsertWithManyToOneorg.hibernate.test.hql.BulkManipulationTesttestInsertWithMismatchedTypesorg.hibernate.test.hql.BulkManipulationTesttestInsertIntoSuperclassPropertiesFailsorg.hibernate.test.hql.BulkManipulationTesttestInsertAcrossMappedJoinFailsorg.hibernate.test.hql.BulkManipulationTesttestInsertWithGeneratedIdorg.hibernate.test.hql.BulkManipulationTesttestInsertWithGeneratedVersionAndIdorg.hibernate.test.hql.BulkManipulationTesttestInsertWithGeneratedTimestampVersionorg.hibernate.test.hql.BulkManipulationTesttestUpdateOnDiscriminatorSubclassorg.hibernate.test.hql.BulkManipulationTesttestUpdateOnAnimalorg.hibernate.test.hql.BulkManipulationTesttestUpdateOnMammalorg.hibernate.test.hql.BulkManipulationTesttestUpdateSetNullUnionSubclassorg.hibernate.test.hql.BulkManipulationTesttestUpdateSetNullOnDiscriminatorSubclassorg.hibernate.test.hql.BulkManipulationTestt
[Hibernate] hibernate-mysql-testsuite Build Completed With Testsuite Errors
View results here -> http://cruisecontrol.jboss.com/cc/buildresults/hibernate-mysql-testsuite?log=log20060328221045 TESTS FAILEDAnt Error Message: /home/cruisecontrol/work/scripts/build-hibernate-db-matrix.xml:120: The following error occurred while executing this line: /home/cruisecontrol/work/scripts/build-hibernate-db-matrix.xml:76: The following error occurred while executing this line: /home/cruisecontrol/work/scripts/build-common-targets.xml:11: Build Successful - Tests completed with errors or failures.Date of build: 03/28/2006 22:10:45Time to build: 22 minutes 29 seconds Unit Tests: (822) Total Errors and Failures: (19)testUpdateWithWhereExistsSubqueryorg.hibernate.test.hql.BulkManipulationTesttestQueryorg.hibernate.test.legacy.FooBarTesttestOneToOneGeneratororg.hibernate.test.legacy.FooBarTesttestReachabilityorg.hibernate.test.legacy.FooBarTesttestVersionedCollectionsorg.hibernate.test.legacy.FooBarTesttestMetaInheritanceorg.hibernate.test.legacy.NonReflectiveBinderTesttestComparatororg.hibernate.test.legacy.NonReflectiveBinderTesttestReturnPropertyComponentRenameorg.hibernate.test.legacy.SQLLoaderTesttestReadOnlyOnProxiesFailureExpectedorg.hibernate.test.readonly.ReadOnlyTesttestAutoDetectAliasingorg.hibernate.test.sql.GeneralTesttestScalarStoredProcedureorg.hibernate.test.sql.MySQLTesttestParameterHandlingorg.hibernate.test.sql.MySQLTesttestEntityStoredProcedureorg.hibernate.test.sql.MySQLTesttestEmptyInListFailureExpectedorg.hibernate.test.hql.HQLTesttestMaxindexHqlFunctionInElementAccessorFailureExpectedorg.hibernate.test.hql.HQLTesttestMultipleElementAccessorOperatorsFailureExpectedorg.hibernate.test.hql.HQLTesttestKeyManyToOneJoinFailureExpectedorg.hibernate.test.hql.HQLTesttestDuplicateExplicitJoinFailureExpectedorg.hibernate.test.hql.HQLTesttestCollectionFetchVsLoadorg.hibernate.test.stats.StatsTest Modifications since last build: (first 50 of 0)
[Hibernate] hibernate-hsqldb-testsuite Build Completed With Testsuite Errors
View results here -> http://cruisecontrol.jboss.com/cc/buildresults/hibernate-hsqldb-testsuite?log=log20060328220010 TESTS FAILEDAnt Error Message: /home/cruisecontrol/work/scripts/build-hibernate-db-matrix.xml:85: The following error occurred while executing this line: /home/cruisecontrol/work/scripts/build-hibernate-db-matrix.xml:76: The following error occurred while executing this line: /home/cruisecontrol/work/scripts/build-common-targets.xml:11: Build Successful - Tests completed with errors or failures.Date of build: 03/28/2006 22:00:10Time to build: 9 minutes 39 seconds Unit Tests: (824) Total Errors and Failures: (10)testMetaInheritanceorg.hibernate.test.legacy.NonReflectiveBinderTesttestComparatororg.hibernate.test.legacy.NonReflectiveBinderTesttestReturnPropertyComponentRenameorg.hibernate.test.legacy.SQLLoaderTesttestReadOnlyOnProxiesFailureExpectedorg.hibernate.test.readonly.ReadOnlyTesttestEmptyInListFailureExpectedorg.hibernate.test.hql.HQLTesttestMaxindexHqlFunctionInElementAccessorFailureExpectedorg.hibernate.test.hql.HQLTesttestMultipleElementAccessorOperatorsFailureExpectedorg.hibernate.test.hql.HQLTesttestKeyManyToOneJoinFailureExpectedorg.hibernate.test.hql.HQLTesttestDuplicateExplicitJoinFailureExpectedorg.hibernate.test.hql.HQLTesttestCollectionFetchVsLoadorg.hibernate.test.stats.StatsTest Modifications since last build: (first 50 of 0)
[Hibernate] BindHelper.findPropertiesByColumns behaviour is non deterministic due to HashSet being used.
Hi Emmanuel, I think we might have found a bug in BindHelper.bindPropertiesByColumns, want to run by you to see if it's worth while submitting to Jira. What we are trying to do is to associate two attributes of the same type to an object. i.e., class Deal { @ManyToOne @JoinColumn(name = "a_customer_id", referencedColumnName = "customer_id", nullable = true) Customer a; @ManyToOne @JoinColumn(name = "b_customer_id", referencedColumnName = "customer_id", nullable = true) Customer b; } // note: customer id is not a pk class Customer { @Column(name = "customer_id") String customerId; } When loading deal object, customer a is always populated correctly but customer b will only be populated occasionally (depending on your luck!). After digging through Hibernate annotation source, I think I've found the cause of the problem in BindHelper.bindPropertiesByColumns where HashSet is being used. From looking through the source, my understanding is that hibernate will create a synthetic property for each of the customer Deal.a and Deal.b and add it to a list of properties type mapping within Customer persistent class object. This type mapping is then used to hydrate Deal.a and Deal.b when Deal object is being resolved. When synthetic property for Deal.a is being created, the propertymapping is straight forward because only customerId property is available in the Customer persistent class. Deal.a is then mapped simply to a simple type of Customer.customerId. Subsequently, when synthetic property for Deal.b is being created (BindHelper:97), the property mapping has two possible values - one is the Customer.customerId, the other is the recently created synthetic mapping (_Deal_a). These two values are extracted out and put into a HashSet (BindHelper.bindPropertiesByColumn:190). The hashset is then the being iterated through to return the first value of iterator (which the order is not guaranteed). Obviously it would be wrong to create a synthetic property for Deal.b with synthetic property _Deal_a type mapping (which is what occasionally happens). Upon load, hibernate core will then attempt to hydrate Deal.a by instantiating Customer (_Deal_a) type object and inject a_customer_id into an instance of _Deal_a type. This will result in a correct load. When hibernate core attempt to hydrate Deal.b, it will instantiate Customer (_Deal_b) type object. However, _Deal_b type object mapps to an embedded _Deal_a type. So it will then recurse through the embedded type, instantiate Customer (_Deal_a) type object, assign b_customer_id into embedded Customer.customerId after which instance of Customer(_Deal_a) will be assigned to Customer.customerId (_Deal_b). This assignment is done via EmbeddedPropertyAccessor.EmbeddedSetter.set method - which looks like a null implementation. The result is that Deal.b won't be set and no errors is being reported at all. What worst is that the system can appear to have been working most of the time, but if you add additional attribute to class Deal to disturb the balance of the hashcode generation, then all of the sudden it won't work. I can think of a couple of fixes in BindHelper.bindPropertiesByColumns: 1. Instead of using HashSet we use an ordered set to guarantee the order, this way the native properties will always be returned first. 2. Use List instead of Set to guarantee the order - the values being added in to the columnsToProperty map can never be null or repeated anyway. 3. Filter out all of the synthetic properties from columnsToProperty mapping (this propbably wouldn't help for muti column mapping?). BTW: It also perplex me why EmbeddedPropertyAccessor.EmbeddedSetter.set method would do nothing and report no error when it can't set the property. Sorry for the lengthy email but it's a fairly subtle bug that can't always be replicated so I thought it's worth while explaining in details. Let me know if you want me to submit this to Jira. We have opted for option 2 on local fix and it appear to be working well. Regards, rOnn c. ##DISCLAIMER:This email and any attachment may contain confidential information.If you are not the intended recipient you are not authorized to copyor disclose all or any part of it without the prior written consentof Toyota. Opinions expressed in this email and any attachments are those of thesender and not necessarily the opinions of Toyota.Please scan this email and any attachment(s) for viruses.Toyota does not accept any responsibility for problems caused byviruses, whether it is Toyota's fault or not.##
[Hibernate] hibernate-sybase-testsuite Build Timed Out
View results here -> http://cruisecontrol.jboss.com/cc/buildresults/hibernate-sybase-testsuite?log=log20060328021747 BUILD TIMED OUTAnt Error Message: build timeoutDate of build: 03/28/2006 02:17:47Time to build: Unit Tests: (0) Total Errors and Failures: (0) Modifications since last build: (first 50 of 0)