db-jdo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michelle Caisse (JIRA)" <j...@apache.org>
Subject [jira] Commented: (JDO-439) companyMapWithoutJoin.conf failiure: unexpected map SCO read from database
Date Tue, 24 Oct 2006 15:10:17 GMT
    [ http://issues.apache.org/jira/browse/JDO-439?page=comments#action_12444332 ] 
            
Michelle Caisse commented on JDO-439:
-------------------------------------

The patch looks good to me.  The test failed on a run before the patch and passed with the
patch.

> companyMapWithoutJoin.conf failiure: unexpected map SCO read from database
> --------------------------------------------------------------------------
>
>                 Key: JDO-439
>                 URL: http://issues.apache.org/jira/browse/JDO-439
>             Project: JDO
>          Issue Type: Bug
>          Components: tck20
>    Affects Versions: JDO 2 final
>            Reporter: Michael Bouschen
>         Assigned To: Michael Bouschen
>             Fix For: JDO 2 maintenance release 1
>
>         Attachments: JDO-439.patch
>
>
> I see the configuration companyMapWithoutJoin.conf sporadically failing, because a map
SCO read from the database does not have the expected value. Here is the test output from
derby-dsid-companyWithoutJoin-junit.txt:
> RUN CompletenessTestMap.test	   FAILURE
> Description: Completeness test with companyMapWithoutJoin model.
> Time: 005
> There was 1 failure:
> 1) test(org.apache.jdo.tck.mapping.CompletenessTestMap)junit.framework.AssertionFailedError:
CompletenessTestMap failed; see list of failures below:
> Expected this  instance:
>     Company(1, name Sun Microsystems, Inc., founded 11/Apr/1952)
> Got persistent instance:
>     Company(1, name Sun Microsystems, Inc., founded 11/Apr/1952)
> Detailed list of differences follows...
> Context: Company<1>.departments[0]-> Department<1>.roles
> Size mismatch: expected size= 3, original size= 2, current size= 2, counted size= 2
>     expected '{role1=FullTimeEmployee(1, emp1Last, emp1First, born 10/Jun/1970, hired
1/Jan/1999, weeklyhours 40.0, $60000.0), role2=FullTimeEmployee(2, emp2Last, emp2First, born
22/Dez/1975, hired 1/Jul/2003, weeklyhours 40.0, $47000.0), role3=PartTimeEmployee(3, emp3Last,
emp3First, born 5/Sep/1972, hired 15/Aug/2002, weeklyhours 19.0, $67.0)}'
>       actual '{role1=FullTimeEmployee(1, emp1Last, emp1First, born 10/Jun/1970, hired
1/Jan/1999, weeklyhours 40.0, $60000.0),role3=PartTimeEmployee(3, emp3Last, emp3First, born
5/Sep/1972, hired 15/Aug/2002, weeklyhours 19.0, $67.0)}'
> 	at org.apache.jdo.tck.JDO_Test.fail(JDO_Test.java:638)
> 	at org.apache.jdo.tck.mapping.CompletenessTestMap.test(CompletenessTestMap.java:123)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at org.apache.jdo.tck.JDO_Test.runBare(JDO_Test.java:253)
> 	at org.apache.jdo.tck.util.BatchTestRunner.doRun(BatchTestRunner.java:107)
> 	at org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java:147)
> 	at org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java:122)
> FAILURES!!!
> The configuration uses a modified company model where Department has a map of employee
instances and a new Employee field called role is the key in the map. The testdata provides
a value for the role field in employee and for the key in the map. But the factory to create
the instances does not populate the role field in employee. So there is an inconsistency between
the key in the map (has a value) and the employee field (is null) used to map the key to the
database. I enabled the JPOX RDBMS logger and saw that in the case of a failure there is an
employee INSERT statement with NULL as the value for the ROLE column. When loading the corresponding
department instance the map of employee misses this entry because the key is null.  The fix
is easy: the factory needs to set the role field when creating the employee instance. 
> Please note that this failure only happens sporadically, so I needed to run the test
several time before I got the error above. In spide of the inconsistency between the map and
the employee field, it is not clear to me why the test case shows different results on multiple
runs. In most cases the test case succeeds (which means the key of the map is used as the
value of th eemployee field), but sometimes it fails as shown above.  

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message