ObjectDB ObjectDB

Issue #318: Explorer bug ? Objects seem to be missing from database in Class view, but are present as references

Type: Bug ReoprtVersion: 1.4.0Priority: CriticalStatus: FixedReplies: 5
#1

objectdb-2.2.5_08

NetbeansID6.9.1+Glassfish3.01

I suspect the following is an Explorer bug. It is marked knowingly as CRITICAL by me because it makes the ObjectDB system unusable for a real project because it appears to be either database integrity corruption, or it just looks like it, which is just as bad.

I attach a running project illustrating the problem, as well as screenshots.

When the project runs it logs creation of objects. Please note that there are 2 Project objects, and note that every Element object (except Project itself) gets a Project reference on construction:

INFO: ConfigBean []: Set default locale: country(AU), language(en)
INFO: RequestBean []: Created: com.greensoft.entity.Project [null](TEST: project 1)
INFO: RequestBean []: Persisted: com.greensoft.entity.Project [1](TEST: project 1)
INFO: RequestBean []: Created: com.greensoft.entity.Source [null](TEST: source)
INFO: RequestBean []: Persisted: com.greensoft.entity.Source [2](TEST: source)
INFO: RequestBean []: Created: com.greensoft.entity.Project [null](TEST: project 2)
INFO: RequestBean []: Persisted: com.greensoft.entity.Project [3](TEST: project 2)
INFO: RequestBean []: Created: com.greensoft.entity.Source [null](TEST: a 2nd source in (1st project))
INFO: RequestBean []: Persisted: com.greensoft.entity.Source [4](TEST: a 2nd source in (1st project))
INFO: RequestBean []: Created: com.greensoft.entity.Source [null](TEST: a 3rd source (in 2nd project))
INFO: RequestBean []: Persisted: com.greensoft.entity.Source [5](TEST: a 3rd source (in 2nd project))
INFO: addLinkToElement: LinkId(6) assigned to elementId(1)
INFO: RequestBean []: Updated: com.greensoft.entity.Project [1](TEST: project 1)
INFO: RequestBean []: Created: com.greensoft.entity.Block [null](TEST: constrained block1, in 1st project)
INFO: RequestBean []: Persisted: com.greensoft.entity.Block [7](TEST: constrained block1, in 1st project)
INFO: RequestBean []: Created: com.greensoft.entity.Constraint [null](TEST: a 1st constraint (in 1st project))
INFO: RequestBean []: Persisted: com.greensoft.entity.Constraint [8](TEST: a 1st constraint (in 1st project))
INFO: RequestBean []: addConstraintToElement: : apply constraintId(8) to elementId(7)
INFO: RequestBean []: Updated: com.greensoft.entity.Block [7](TEST: constrained block1, in 1st project)
INFO: RequestBean []: Updated: com.greensoft.entity.Constraint [8](TEST: a 1st constraint (in 1st project))
INFO: RequestBean []: Created: com.greensoft.entity.Constraint [null](TEST: a 2nd constraint (in 1st project))
INFO: RequestBean []: Persisted: com.greensoft.entity.Constraint [9](TEST: a 2nd constraint (in 1st project))
INFO: RequestBean []: addConstraintToElement: : apply constraintId(9) to elementId(7)
INFO: RequestBean []: Updated: com.greensoft.entity.Block [7](TEST: constrained block1, in 1st project)
INFO: RequestBean []: Updated: com.greensoft.entity.Constraint [9](TEST: a 2nd constraint (in 1st project))
INFO: RequestBean []: Created: com.greensoft.entity.Block [null](TEST: constrained block2, in 1st project)
INFO: RequestBean []: Persisted: com.greensoft.entity.Block [10](TEST: constrained block2, in 1st project)
INFO: RequestBean []: addConstraintToElement: : apply constraintId(9) to elementId(10)
INFO: RequestBean []: Updated: com.greensoft.entity.Block [10](TEST: constrained block2, in 1st project)
INFO: RequestBean []: Updated: com.greensoft.entity.Constraint [9](TEST: a 2nd constraint (in 1st project))
INFO: RequestBean []: Created: com.greensoft.entity.Block [null](TEST: constrained block3, in 2nd project)
INFO: RequestBean []: Persisted: com.greensoft.entity.Block [11](TEST: constrained block3, in 2nd project)
INFO: RequestBean []: Created: com.greensoft.entity.Constraint [null](TEST: a 3rd constraint (in 2nd project))
INFO: RequestBean []: Persisted: com.greensoft.entity.Constraint [12](TEST: a 3rd constraint (in 2nd project))
INFO: RequestBean []: addConstraintToElement: : apply constraintId(12) to elementId(11)
INFO: RequestBean []: Updated: com.greensoft.entity.Block [11](TEST: constrained block3, in 2nd project)
INFO: RequestBean []: Updated: com.greensoft.entity.Constraint [12](TEST: a 3rd constraint (in 2nd project))
INFO: RequestBean []: Created: com.greensoft.entity.Actor [null](TEST: constrained Actor1, in 1st project)
INFO: RequestBean []: Persisted: com.greensoft.entity.Actor [13](TEST: constrained Actor1, in 1st project)
INFO: RequestBean []: addConstraintToElement: : apply constraintId(8) to elementId(13)
INFO: RequestBean []: Updated: com.greensoft.entity.Actor [13](TEST: constrained Actor1, in 1st project)
INFO: RequestBean []: Updated: com.greensoft.entity.Constraint [8](TEST: a 1st constraint (in 1st project))
INFO: RequestBean []: Created: com.greensoft.entity.Activity [null](TEST: the 1st activity)
INFO: RequestBean []: Persisted: com.greensoft.entity.Activity [14](TEST: the 1st activity)
INFO: RequestBean []: Created: com.greensoft.entity.Activity [null](TEST: the 2nd activity)
INFO: RequestBean []: Persisted: com.greensoft.entity.Activity [15](TEST: the 2nd activity)
INFO: RequestBean []: Created: com.greensoft.entity.Activity [null](TEST: the 3rd activity)
INFO: RequestBean []: Persisted: com.greensoft.entity.Activity [16](TEST: the 3rd activity)
INFO: RequestBean []: Created: com.greensoft.entity.Activity [null](TEST: subactivity 4.1)
INFO: RequestBean []: Persisted: com.greensoft.entity.Activity [17](TEST: subactivity 4.1)
INFO: RequestBean []: Created: com.greensoft.entity.Activity [null](TEST: subactivity 4.2)
INFO: RequestBean []: Persisted: com.greensoft.entity.Activity [18](TEST: subactivity 4.2)
INFO: RequestBean []: Created: com.greensoft.entity.Activity [null](TEST: subactivity 4.3)
INFO: RequestBean []: Persisted: com.greensoft.entity.Activity [19](TEST: subactivity 4.3)
INFO: RequestBean []: Created: com.greensoft.entity.Activity [null](TEST: subactivity 4.4)
INFO: RequestBean []: Persisted: com.greensoft.entity.Activity [20](TEST: subactivity 4.4)
INFO: RequestBean []: Created: com.greensoft.entity.Activity [null](TEST: activity 4 (AND composite))
INFO: RequestBean []: Persisted: com.greensoft.entity.Activity [21](TEST: activity 4 (AND composite))
INFO: addSubActivityToActivity: subActivityId(17) assigned to activityId(21)
INFO: RequestBean []: Updated: com.greensoft.entity.Activity [21](TEST: activity 4 (AND composite))
INFO: RequestBean []: Updated: com.greensoft.entity.Activity [17](TEST: subactivity 4.1)
INFO: addSubActivityToActivity: subActivityId(18) assigned to activityId(21)
INFO: RequestBean []: Updated: com.greensoft.entity.Activity [21](TEST: activity 4 (AND composite))
INFO: RequestBean []: Updated: com.greensoft.entity.Activity [18](TEST: subactivity 4.2)
INFO: addSubActivityToActivity: subActivityId(19) assigned to activityId(21)
INFO: RequestBean []: Updated: com.greensoft.entity.Activity [21](TEST: activity 4 (AND composite))
INFO: RequestBean []: Updated: com.greensoft.entity.Activity [19](TEST: subactivity 4.3)
INFO: addSubActivityToActivity: subActivityId(20) assigned to activityId(21)
INFO: RequestBean []: Updated: com.greensoft.entity.Activity [21](TEST: activity 4 (AND composite))
INFO: RequestBean []: Updated: com.greensoft.entity.Activity [20](TEST: subactivity 4.4)
INFO: RequestBean []: Created: com.greensoft.entity.Activity [null](TEST: subactivity 5.1)
INFO: RequestBean []: Persisted: com.greensoft.entity.Activity [22](TEST: subactivity 5.1)
INFO: RequestBean []: Created: com.greensoft.entity.Activity [null](TEST: subactivity 5.2)
INFO: RequestBean []: Persisted: com.greensoft.entity.Activity [23](TEST: subactivity 5.2)
INFO: RequestBean []: Created: com.greensoft.entity.Activity [null](TEST: subactivity 5.3)
INFO: RequestBean []: Persisted: com.greensoft.entity.Activity [24](TEST: subactivity 5.3)
INFO: RequestBean []: Created: com.greensoft.entity.Activity [null](TEST: subactivity 5.4)
INFO: RequestBean []: Persisted: com.greensoft.entity.Activity [25](TEST: subactivity 5.4)
INFO: RequestBean []: Created: com.greensoft.entity.Activity [null](TEST: activity 5 (OR composite))
INFO: RequestBean []: Persisted: com.greensoft.entity.Activity [26](TEST: activity 5 (OR composite))
INFO: addSubActivityToActivity: subActivityId(22) assigned to activityId(26)
INFO: RequestBean []: Updated: com.greensoft.entity.Activity [26](TEST: activity 5 (OR composite))
INFO: RequestBean []: Updated: com.greensoft.entity.Activity [22](TEST: subactivity 5.1)
INFO: addSubActivityToActivity: subActivityId(23) assigned to activityId(26)
INFO: RequestBean []: Updated: com.greensoft.entity.Activity [26](TEST: activity 5 (OR composite))
INFO: RequestBean []: Updated: com.greensoft.entity.Activity [23](TEST: subactivity 5.2)
INFO: addSubActivityToActivity: subActivityId(24) assigned to activityId(26)
INFO: RequestBean []: Updated: com.greensoft.entity.Activity [26](TEST: activity 5 (OR composite))
INFO: RequestBean []: Updated: com.greensoft.entity.Activity [24](TEST: subactivity 5.3)
INFO: addSubActivityToActivity: subActivityId(25) assigned to activityId(26)
INFO: RequestBean []: Updated: com.greensoft.entity.Activity [26](TEST: activity 5 (OR composite))
INFO: RequestBean []: Updated: com.greensoft.entity.Activity [25](TEST: subactivity 5.4)
INFO: RequestBean []: Created: com.greensoft.entity.Actor [null](TEST: Actor1)
INFO: RequestBean []: Persisted: com.greensoft.entity.Actor [27](TEST: Actor1)
INFO: RequestBean []: Created: com.greensoft.entity.Actor [null](TEST: Actor2)
INFO: RequestBean []: Persisted: com.greensoft.entity.Actor [28](TEST: Actor2)
INFO: RequestBean []: Created: com.greensoft.entity.Actor [null](TEST: Actor3)
INFO: RequestBean []: Persisted: com.greensoft.entity.Actor [29](TEST: Actor3)
INFO: RequestBean []: Created: com.greensoft.entity.Actor [null](TEST: auto actor 0)
INFO: RequestBean []: Persisted: com.greensoft.entity.Actor [30](TEST: auto actor 0)
INFO: RequestBean []: Created: com.greensoft.entity.Actor [null](TEST: auto actor 1)
INFO: RequestBean []: Persisted: com.greensoft.entity.Actor [31](TEST: auto actor 1)
INFO: RequestBean []: Created: com.greensoft.entity.Actor [null](TEST: auto actor 2)
INFO: RequestBean []: Persisted: com.greensoft.entity.Actor [32](TEST: auto actor 2)
INFO: RequestBean []: Created: com.greensoft.entity.Actor [null](TEST: auto actor 3)
INFO: RequestBean []: Persisted: com.greensoft.entity.Actor [33](TEST: auto actor 3)
INFO: RequestBean []: Created: com.greensoft.entity.Actor [null](TEST: auto actor 4)
INFO: RequestBean []: Persisted: com.greensoft.entity.Actor [34](TEST: auto actor 4)
INFO: RequestBean []: Created: com.greensoft.entity.Actor [null](TEST: auto actor 5)
INFO: RequestBean []: Persisted: com.greensoft.entity.Actor [35](TEST: auto actor 5)
INFO: RequestBean []: Created: com.greensoft.entity.Actor [null](TEST: auto actor 6)
INFO: RequestBean []: Persisted: com.greensoft.entity.Actor [36](TEST: auto actor 6)
INFO: RequestBean []: Created: com.greensoft.entity.Actor [null](TEST: auto actor 7)
INFO: RequestBean []: Persisted: com.greensoft.entity.Actor [37](TEST: auto actor 7)
INFO: RequestBean []: Created: com.greensoft.entity.Actor [null](TEST: auto actor 8)
INFO: RequestBean []: Persisted: com.greensoft.entity.Actor [38](TEST: auto actor 8)
INFO: RequestBean []: Created: com.greensoft.entity.Actor [null](TEST: auto actor 9)
INFO: RequestBean []: Persisted: com.greensoft.entity.Actor [39](TEST: auto actor 9)
INFO: RequestBean []: allocateActivityToActor: : allocate activityId(14) to actorId(27)
INFO: RequestBean []: allocateActivityToActor: : allocate activityId(14) to actorId(28)
INFO: RequestBean []: allocateActivityToActor: : allocate activityId(15) to actorId(29)
INFO: RequestBean []: involveInParsel: : involvelId(29) involved in parselId(14)
INFO: RequestBean []: Updated: com.greensoft.entity.Activity [14](TEST: the 1st activity)
INFO: RequestBean []: Updated: com.greensoft.entity.Actor [29](TEST: Actor3)
INFO: RequestBean []: involveInParsel: : involvelId(28) involved in parselId(15)
INFO: RequestBean []: Updated: com.greensoft.entity.Activity [15](TEST: the 2nd activity)
INFO: RequestBean []: Updated: com.greensoft.entity.Actor [28](TEST: Actor2)
INFO: RequestBean []: Created: com.greensoft.entity.Block [null](TEST: Block1)
INFO: RequestBean []: Persisted: com.greensoft.entity.Block [40](TEST: Block1)
INFO: RequestBean []: Created: com.greensoft.entity.Block [null](TEST: Block2)
INFO: RequestBean []: Persisted: com.greensoft.entity.Block [41](TEST: Block2)
INFO: RequestBean []: Created: com.greensoft.entity.Block [null](TEST: Block3)
INFO: RequestBean []: Persisted: com.greensoft.entity.Block [42](TEST: Block3)
INFO: RequestBean []: involveInParsel: : involvelId(40) involved in parselId(14)
INFO: RequestBean []: Updated: com.greensoft.entity.Activity [14](TEST: the 1st activity)
INFO: RequestBean []: Updated: com.greensoft.entity.Block [40](TEST: Block1)
INFO: RequestBean []: involveInParsel: : involvelId(41) involved in parselId(16)
INFO: RequestBean []: Updated: com.greensoft.entity.Activity [16](TEST: the 3rd activity)
INFO: RequestBean []: Updated: com.greensoft.entity.Block [41](TEST: Block2)
INFO: RequestBean []: Created: com.greensoft.entity.Block [null](TEST: block with deep values and quantities)
INFO: RequestBean []: Persisted: com.greensoft.entity.Block [43](TEST: block with deep values and quantities)
INFO: RequestBean []: Created: com.greensoft.entity.value.FloatQuantity [null](TEST: number quantity)
INFO: RequestBean []: Persisted: com.greensoft.entity.value.FloatQuantity [44](TEST: number quantity)
INFO: RequestBean []: Created: com.greensoft.entity.test.TestDeepValues [null](TEST: test deep values)
INFO: RequestBean []: Persisted: com.greensoft.entity.test.TestDeepValues [45](TEST: test deep values)
INFO: RequestBean []: Updated: com.greensoft.entity.test.TestDeepValues [45](TEST: test deep values)
INFO: RequestBean []: Created: com.greensoft.entity.test.TestDeep_HouseWithRooms [null](TEST: house with deep value and rooms)
INFO: RequestBean []: Persisted: com.greensoft.entity.test.TestDeep_HouseWithRooms [50](TEST: house with deep value and rooms)
INFO: RequestBean []: Created: com.greensoft.entity.Activity [null](TEST: Deep value: ensure the temperature of every room in the house is always below 25.2 C)
INFO: RequestBean []: Persisted: com.greensoft.entity.Activity [59](TEST: Deep value: ensure the temperature of every room in the house is always below 25.2 C)
INFO: RequestBean []: involveInParsel: : involvelId(50) involved in parselId(59)
INFO: RequestBean []: Updated: com.greensoft.entity.Activity [59](TEST: Deep value: ensure the temperature of every room in the house is always below 25.2 C)
INFO: RequestBean []: Updated: com.greensoft.entity.test.TestDeep_HouseWithRooms [50](TEST: house with deep value and rooms)
INFO: RequestBean []: involveInParsel: : involvelId(53) involved in parselId(59)
INFO: RequestBean []: Updated: com.greensoft.entity.Activity [59](TEST: Deep value: ensure the temperature of every room in the house is always below 25.2 C)
INFO: RequestBean []: Updated: com.greensoft.entity.test.TestDeep_Room [53](front room (high temperature))
INFO: RequestBean []: involveInParsel: : involvelId(56) involved in parselId(59)
INFO: RequestBean []: Updated: com.greensoft.entity.Activity [59](TEST: Deep value: ensure the temperature of every room in the house is always below 25.2 C)
INFO: RequestBean []: Updated: com.greensoft.entity.value.FloatQuantity [56](room temperature)
INFO: RequestBean []: involveInParsel: : involvelId(54) involved in parselId(59)
INFO: RequestBean []: Updated: com.greensoft.entity.Activity [59](TEST: Deep value: ensure the temperature of every room in the house is always below 25.2 C)
INFO: RequestBean []: Updated: com.greensoft.entity.test.TestDeep_Room [54](bedroom (low temperature))
INFO: RequestBean []: involveInParsel: : involvelId(57) involved in parselId(59)
INFO: RequestBean []: Updated: com.greensoft.entity.Activity [59](TEST: Deep value: ensure the temperature of every room in the house is always below 25.2 C)
INFO: RequestBean []: Updated: com.greensoft.entity.value.FloatQuantity [57](room temperature)
INFO: RequestBean []: involveInParsel: : involvelId(55) involved in parselId(59)
INFO: RequestBean []: Updated: com.greensoft.entity.Activity [59](TEST: Deep value: ensure the temperature of every room in the house is always below 25.2 C)
INFO: RequestBean []: Updated: com.greensoft.entity.test.TestDeep_Room [55](kitchen (default temperature))
INFO: RequestBean []: involveInParsel: : involvelId(58) involved in parselId(59)
INFO: RequestBean []: Updated: com.greensoft.entity.Activity [59](TEST: Deep value: ensure the temperature of every room in the house is always below 25.2 C)
INFO: RequestBean []: Updated: com.greensoft.entity.value.FloatQuantity [58](room temperature)
INFO: RequestBean []: involveInParsel: : involvelId(52) involved in parselId(59)
INFO: RequestBean []: Updated: com.greensoft.entity.Activity [59](TEST: Deep value: ensure the temperature of every room in the house is always below 25.2 C)
INFO: RequestBean []: Updated: com.greensoft.entity.value.BooleanValue [52](Deep: Is the temperature for all rooms below 25.2 deg C ?)
INFO: RequestBean []: Created: com.greensoft.entity.Block [null](TEST: owns readonly values)
INFO: RequestBean []: Persisted: com.greensoft.entity.Block [60](TEST: owns readonly values)
INFO: RequestBean []: Created: com.greensoft.entity.value.FloatQuantity [null](TEST: A readonly deep float quantity)
INFO: RequestBean []: Persisted: com.greensoft.entity.value.FloatQuantity [61](TEST: A readonly deep float quantity)
INFO: RequestBean []: Updated: com.greensoft.entity.value.FloatQuantity [61](TEST: A readonly deep float quantity)
INFO: RequestBean []: Created: com.greensoft.entity.value.IntegerQuantity [null](TEST: A readonly integer quantity)
INFO: RequestBean []: Persisted: com.greensoft.entity.value.IntegerQuantity [62](TEST: A readonly integer quantity)
INFO: RequestBean []: Updated: com.greensoft.entity.value.IntegerQuantity [62](TEST: A readonly integer quantity)
INFO: RequestBean []: Created: com.greensoft.entity.value.StringValue [null](TEST: A readonly string value)
INFO: RequestBean []: Persisted: com.greensoft.entity.value.StringValue [63](TEST: A readonly string value)
INFO: RequestBean []: Updated: com.greensoft.entity.value.StringValue [63](TEST: A readonly string value)
INFO: RequestBean []: Created: com.greensoft.entity.value.BooleanValue [null](TEST: A readonly fixed true Boolean value)
INFO: RequestBean []: Persisted: com.greensoft.entity.value.BooleanValue [64](TEST: A readonly fixed true Boolean value)
INFO: RequestBean []: Updated: com.greensoft.entity.value.BooleanValue [64](TEST: A readonly fixed true Boolean value)
INFO: RequestBean []: Created: com.greensoft.entity.test.TestBlock [null](TEST: «compiled» test block)
INFO: RequestBean []: Persisted: com.greensoft.entity.test.TestBlock [65](TEST: «compiled» test block)
INFO: RequestBean []: Created: com.greensoft.entity.Block [null](TEST: child of test block)
INFO: RequestBean []: Persisted: com.greensoft.entity.Block [66](TEST: child of test block)
INFO: RequestBean []: Created: com.greensoft.entity.Block [null](TEST: child1 for multi of test block)
INFO: RequestBean []: Persisted: com.greensoft.entity.Block [67](TEST: child1 for multi of test block)
INFO: RequestBean []: Created: com.greensoft.entity.Block [null](TEST: child2 for multi of test block)
INFO: RequestBean []: Persisted: com.greensoft.entity.Block [68](TEST: child2 for multi of test block)
INFO: RequestBean []: Created: com.greensoft.entity.Block [null](TEST: block1 within blocks list)
INFO: RequestBean []: Persisted: com.greensoft.entity.Block [69](TEST: block1 within blocks list)
INFO: RequestBean []: Created: com.greensoft.entity.Block [null](TEST: block2 within blocks list)
INFO: RequestBean []: Persisted: com.greensoft.entity.Block [70](TEST: block2 within blocks list)
INFO: RequestBean []: Updated: com.greensoft.entity.test.TestBlock [65](TEST: «compiled» test block)
INFO: RequestBean []: Created: com.greensoft.entity.Activity [null](TEST: activity that involves named list)
INFO: RequestBean []: Persisted: com.greensoft.entity.Activity [71](TEST: activity that involves named list)
INFO: RequestBean []: involveBlockListInParsel: : list name(blocks) from blockId(65) involved in parselId(71)
INFO: RequestBean []: Updated: com.greensoft.entity.Activity [71](TEST: activity that involves named list)
INFO: RequestBean []: Updated: com.greensoft.entity.test.TestBlock [65](TEST: «compiled» test block)
INFO: RequestBean []: Updated: com.greensoft.entity.Activity [71](TEST: activity that involves named list)
INFO: RequestBean []: Created: com.greensoft.entity.Document [null](TEST: doc 1)
INFO: RequestBean []: Persisted: com.greensoft.entity.Document [73](TEST: doc 1)
INFO: RequestBean []: Created: com.greensoft.entity.Document [null](TEST: doc 2)
INFO: RequestBean []: Persisted: com.greensoft.entity.Document [74](TEST: doc 2)
INFO: RequestBean []: involveDocumentInParsel: : documentId(73) involved in parselId(15)
INFO: RequestBean []: Updated: com.greensoft.entity.Activity [15](TEST: the 2nd activity)
INFO: RequestBean []: Updated: com.greensoft.entity.Document [73](TEST: doc 1)
INFO: RequestBean []: involveDocumentInParsel: : documentId(74) involved in parselId(16)
INFO: RequestBean []: Updated: com.greensoft.entity.Activity [16](TEST: the 3rd activity)
INFO: RequestBean []: Updated: com.greensoft.entity.Document [74](TEST: doc 2)
INFO: RequestBean []: Created: com.greensoft.entity.Certification [null](TEST: certification1)
INFO: RequestBean []: Persisted: com.greensoft.entity.Certification [75](TEST: certification1)
INFO: RequestBean []: Created: com.greensoft.entity.Certification [null](TEST: certification2)
INFO: RequestBean []: Persisted: com.greensoft.entity.Certification [76](TEST: certification2)
INFO: RequestBean []: Created: com.greensoft.entity.Organisation [null](TEST: organisation1)
INFO: RequestBean []: Persisted: com.greensoft.entity.Organisation [77](TEST: organisation1)
INFO: RequestBean []: Created: com.greensoft.entity.Organisation [null](TEST: organisation2)
INFO: RequestBean []: Persisted: com.greensoft.entity.Organisation [78](TEST: organisation2)
INFO: RequestBean []: Created: com.greensoft.entity.Regulation [null](TEST: regulation1)
INFO: RequestBean []: Persisted: com.greensoft.entity.Regulation [79](TEST: regulation1)
INFO: RequestBean []: Created: com.greensoft.entity.Regulation [null](TEST: regulation2)
INFO: RequestBean []: Persisted: com.greensoft.entity.Regulation [80](TEST: regulation2)
INFO: RequestBean []: Created: com.greensoft.entity.Standard [null](TEST: standard1)
INFO: RequestBean []: Persisted: com.greensoft.entity.Standard [81](TEST: standard1)
INFO: RequestBean []: Created: com.greensoft.entity.Standard [null](TEST: standard2)
INFO: RequestBean []: Persisted: com.greensoft.entity.Standard [82](TEST: standard2)
INFO: RequestBean []: Created: com.greensoft.entity.test.TestListel [null](test block with test listels)
INFO: RequestBean []: Persisted: com.greensoft.entity.test.TestListel [83](test block with test listels)
INFO: RequestBean []: Created: com.greensoft.entity.Block [null](block 1)
INFO: RequestBean []: Persisted: com.greensoft.entity.Block [89](block 1)
INFO: RequestBean []: Created: com.greensoft.entity.Block [null](block 2)
INFO: RequestBean []: Persisted: com.greensoft.entity.Block [90](block 2)
INFO: RequestBean []: Created: com.greensoft.entity.Block [null](block 3)
INFO: RequestBean []: Persisted: com.greensoft.entity.Block [91](block 3)
INFO: RequestBean []: Created: com.greensoft.entity.Block [null](simple block)
INFO: RequestBean []: Persisted: com.greensoft.entity.Block [92](simple block)
INFO: RequestBean []: Created: com.greensoft.entity.Block [null](template block)
INFO: RequestBean []: Persisted: com.greensoft.entity.Block [94](template block)
INFO: RequestBean []: Created: com.greensoft.entity.Activity [null](Involves listel entities)
INFO: RequestBean []: Persisted: com.greensoft.entity.Activity [95](Involves listel entities)
INFO: RequestBean []: involveInParsel: : involvelId(84) involved in parselId(95)
INFO: RequestBean []: Updated: com.greensoft.entity.Activity [95](Involves listel entities)
INFO: RequestBean []: Updated: com.greensoft.entity.Listel [84](list of blocks)
INFO: RequestBean []: involveInParsel: : involvelId(88) involved in parselId(95)
INFO: RequestBean []: Updated: com.greensoft.entity.Activity [95](Involves listel entities)
INFO: RequestBean []: Updated: com.greensoft.entity.Listel [88](templated blocks)
INFO: RequestBean []: involveInParsel: : involvelId(87) involved in parselId(95)
INFO: RequestBean []: Updated: com.greensoft.entity.Activity [95](Involves listel entities)
INFO: RequestBean []: Updated: com.greensoft.entity.Listel [87](a single block)
INFO: RequestBean []: Updated: com.greensoft.entity.test.TestListel [83](test block with test listels)
INFO: RequestBean []: Created: com.greensoft.entity.Activity [null](Involves named deep value entities within elements within a listel)
INFO: RequestBean []: Persisted: com.greensoft.entity.Activity [96](Involves named deep value entities within elements within a listel)
INFO: RequestBean []: Created: com.greensoft.entity.test.TestDeepValues [null](deep values test block 1)
INFO: RequestBean []: Persisted: com.greensoft.entity.test.TestDeepValues [97](deep values test block 1)
INFO: RequestBean []: Created: com.greensoft.entity.test.TestDeepValues [null](deep values test block 2)
INFO: RequestBean []: Persisted: com.greensoft.entity.test.TestDeepValues [102](deep values test block 2)
INFO: RequestBean []: involveValueOfEntityClassWithinListelInParsel: : valuePropertyName(floatQuantity) from entityClass(class com.greensoft.entity.test.TestDeepValues) within listelId(86) involved in parselId(96)
INFO: RequestBean []: Updated: com.greensoft.entity.Activity [96](Involves named deep value entities within elements within a listel)

We see that 2 Project objects were created, however in the database Explorer it lists size=0 for Project class  (see 1st image attachment).

But if your look, say, under field project in a Block object, it can be seen that there is in fact a Project referenced (see 2nd image attachment), but please note carefully that its fields (such as name) are null, it is in fact a broken Project object (or looks like it).

Please attend to this very serious problem as soon as possible so that I can resume my evaluation of ObjectDB and report my client, the end-customer (without having to tell them of further bugs in the ObjectDB system),

Constructively,

Dr Darren Kelly (Webel IT Australia)

edit
delete
#2

Unfortunately it is a critical bug - it is not the Explorer but somehow your application generated a broken database.

It might be related to the flush bugs that are being fixed in the last builds so please check it with build 2.2.5_09.

I tried to run your test application but I got the following exception:

Caused by: javax.ejb.EJBException: Attempt to persist a reference to a non managed com.greensoft.entity.Block instance
        at com.greensoft.ejb.RequestBean.createBlock(RequestBean.java:90)
        at sun.reflect.GeneratedMethodAccessor60.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)

So if this is not solved by build 2.2.5_09  - help with running the test case would be needed.

ObjectDB Support
edit
delete
#3

I found that the exception is caused by a new bug in build 2.2.5_09.

I tried your test program with a new build 2.2.5_10 - and it seems to work well (see attached odb).

All the problems that you have reported till now are related to using flush extensively (many times until commit). You should avoid this to improve performance, but of course - ObjectDB must be able to handle such activity without errors.

Thank you very much for your bug reports that hit an issue that was not addressed well by ObjectDB till now.

ObjectDB Support
edit
delete
#4

> All the problems that you have reported till now are related to using flush extensively (many times until commit).

Before testing build .._10, as a separate topic.

Just to clarify; I do not want to have to use flush extensively, it is only there to address the fact that under @ID @GeneratedValue AUTO strategy with ObjectDB (unlike with EclipseLink+MySQL or EclipseLink+Oracle) the id is not available, as reported here:

Your EntityManager seems not to grant an id to external object after em.persist(object), which is causing me trouble with wiring (www.objectdb.com/ticket/305)

If you are the person who handled this issue but have not read or dealt with that support ticket above, please read it, it is important to understand. It seems with ObjectDB I would have to switch to TABLE or SEQUENCE strategy instead of AUTO to get an ID ensured after just persist. Note also and please read (and please read external links) if have not already the forum posting summary:

On ensuring ID available after persist

Will report on build test separately following..

 

edit
delete
#5

This reply applies to both this issue and to support ticket:

@ManyToMany relationship constraints/constrainedElements test fails on test case, appears empty (www.objectdb.com/ticket/314)

Ok, I've tested objectdb-2.2.5_10 on the larger test sequence of ConfigBean (not just the smaller one in ObjectdbTest) and after inspecting at least the cases reported as errors at http://www.objectdb.com/database/support/128 and above seem to be fixed, the constraint/contrainedElements relationships corresponding to the test case sequence appear correct, and the once "missing" objects reported in this issue are now correctly present, so a tentative congratulations is in order.

Thanks for attending to this bug, and for taking the care this time to compare with the offered test case both in my logged output and by examining the result in the Explorer (which it seems is not at fault).

regards,

Darren

edit
delete
#6

The problem is clear and understood, but it seems that switching to SEQUENCE or TABLE would provide better performance than flush after every persist.

ObjectDB Support
edit
delete

Reply

To post on this website please sign in.