You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jdo-dev@db.apache.org by "Craig Russell (JIRA)" <ji...@apache.org> on 2006/03/07 02:19:29 UTC

[jira] Created: (JDO-330) JPOX fails to populate fields in fetch plan during detachCopy

JPOX fails to populate fields in fetch plan during detachCopy
-------------------------------------------------------------

         Key: JDO-330
         URL: http://issues.apache.org/jira/browse/JDO-330
     Project: JDO
        Type: Bug
  Components: tck20  
    Versions: JDO 2 rc1    
 Environment: JPOX
    Reporter: Craig Russell
     Fix For: JDO 2 final


After applying the patch in JDO-272, JPOX fails:

    [java] 1) testDetachCopy(org.apache.jdo.tck.api.persistencemanager.detach.DetachCopy)javax.jdo.JDODetachedFieldAccessException: You have just attempted to access field "cart" yet this field was not detached when you detached the object. Either dont access this field, or detach the field when detaching the object.
    [java]      at org.apache.jdo.tck.pc.shoppingcart.CartEntry.jdoGetcart(CartEntry.java)
    [java]      at org.apache.jdo.tck.pc.shoppingcart.CartEntry.getCart(CartEntry.java:62)
    [java]      at org.apache.jdo.tck.api.persistencemanager.detach.DetachTest.checkCartValues(DetachTest.java:140)
    [java]      at org.apache.jdo.tck.api.persistencemanager.detach.DetachTest.checkCartValues(DetachTest.java:122)
    [java]      at org.apache.jdo.tck.api.persistencemanager.detach.DetachCopy.testDetachCopy(DetachCopy.java:68)
    [java]      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    [java]      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    [java]      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    [java]      at org.apache.jdo.tck.JDO_Test.runBare(JDO_Test.java:206)
    [java]      at org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java:120)
    [java]      at org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java:95)

The field is part of the fetch plan in effect when the instances are detached.


-- 
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


[jira] Resolved: (JDO-330) JPOX fails to populate fields in fetch plan during detachCopy

Posted by "Craig Russell (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/JDO-330?page=all ]
     
Craig Russell resolved JDO-330:
-------------------------------

    Resolution: Invalid
     Assign To: Craig Russell

This was a user error. The FetchPlan used the default MaxFetchDepth which is 1. None of the related instances' fields were set by the detach because of this error.

This highlights an interesting usability issue with FetchPlan. The default FetchPlan MaxFetchDepth is designed to avoid accidentally retrieving the entire database into memory, but it needs to be carefully thought about.

> JPOX fails to populate fields in fetch plan during detachCopy
> -------------------------------------------------------------
>
>          Key: JDO-330
>          URL: http://issues.apache.org/jira/browse/JDO-330
>      Project: JDO
>         Type: Bug
>   Components: tck20
>     Versions: JDO 2 rc1
>  Environment: JPOX
>     Reporter: Craig Russell
>     Assignee: Craig Russell
>      Fix For: JDO 2 final

>
> After applying the patch in JDO-272, JPOX fails:
>     [java] 1) testDetachCopy(org.apache.jdo.tck.api.persistencemanager.detach.DetachCopy)javax.jdo.JDODetachedFieldAccessException: You have just attempted to access field "cart" yet this field was not detached when you detached the object. Either dont access this field, or detach the field when detaching the object.
>     [java]      at org.apache.jdo.tck.pc.shoppingcart.CartEntry.jdoGetcart(CartEntry.java)
>     [java]      at org.apache.jdo.tck.pc.shoppingcart.CartEntry.getCart(CartEntry.java:62)
>     [java]      at org.apache.jdo.tck.api.persistencemanager.detach.DetachTest.checkCartValues(DetachTest.java:140)
>     [java]      at org.apache.jdo.tck.api.persistencemanager.detach.DetachTest.checkCartValues(DetachTest.java:122)
>     [java]      at org.apache.jdo.tck.api.persistencemanager.detach.DetachCopy.testDetachCopy(DetachCopy.java:68)
>     [java]      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>     [java]      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>     [java]      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>     [java]      at org.apache.jdo.tck.JDO_Test.runBare(JDO_Test.java:206)
>     [java]      at org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java:120)
>     [java]      at org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java:95)
> The field is part of the fetch plan in effect when the instances are detached.

-- 
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