[ 
https://issues.apache.org/jira/browse/JDO-460?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12473602
 ] 

Michelle Caisse commented on JDO-460:
-------------------------------------

The spec (see 
https://issues.apache.org/jira/secure/attachment/12349043/stateTransitionsUpdates.htm)
 says:

Given operation detachCopy with active Optimistic transaction and initial state 
hollow, state transitions to P-nontrans.

Given operation detachCopy with active Datastore transaction and initial state 
hollow, state transitions to P-clean.

Given operation detachCopy with active transaction and initial state 
P-nontrans: If a field of a persistent-nontransactional instance needs to be 
read for detachCopy with an active transaction, the instance will transition to 
persistent-clean if a datastore transaction is active; otherwise the instance 
will not change state.

I believe that this is intended to mean that the transition of hollow and 
P-nontrans instances to a detachCopy operation are identical.  If this is 
correct, then the state transitions table in the StateTransitions.java is wrong 
in that the cell for operation detachCopy with active datastore transaction, 
initial state PERSISTENT_NONTRANSACTIONAL should read PERSISTENT-CLEAN rather 
than UNCHANGED. The outcome of the case that is currently failing is unchanged 
and still needs to be fixed, but the impossible constraint that the outcome 
should be different for hollow and persistent nontransactional instances would 
be lifted with this change to the test.


> StateTransitions test fails on detachCopy operation
> ---------------------------------------------------
>
>                 Key: JDO-460
>                 URL: https://issues.apache.org/jira/browse/JDO-460
>             Project: JDO
>          Issue Type: Bug
>          Components: tck2
>            Reporter: Michelle Caisse
>         Assigned To: Andy Jefferson
>             Fix For: JDO 2 maintenance release 1
>
>
> StateTransitions fails on three cases for the detachCopy operation. These 
> transitions are newly specified for JDO 2.1.  See JDO-456. 
>    [java] There was 1 failure:
>     [java] 1) 
> test(org.apache.jdo.tck.lifecycle.StateTransitions)junit.framework.AssertionFailedError:
>     [java] Assertions A5.9-1 through A5.9-190 (StateTransitions) failed:
>     [java] StateTransitions: datastore transaction; current state hollow
>     [java] detachCopy with active datastore tx transitioned instance to 
> invalid state hollow; expected state persistent-clean
>     [java] Assertions A5.9-1 through A5.9-190 (StateTransitions) failed:
>     [java] StateTransitions: no transaction; current state hollow
>     [java] detachCopy outside tx with NontransactionalRead=false; 
> JDOUserException should have been thrown
>     [java] Assertions A5.9-1 through A5.9-190 (StateTransitions) failed:
>     [java] StateTransitions: no transaction; current state 
> persistent-nontransactional
>     [java] detachCopy outside tx with NontransactionalRead=false; 
> JDOUserException should have been thrown
>     [java]
>     [java]      at org.apache.jdo.tck.JDO_Test.failOnError(JDO_Test.java:1103)
>     [java]      at 
> org.apache.jdo.tck.lifecycle.StateTransitions.test(StateTransitions.java:414)
>     [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:254)
>     [java]      at 
> org.apache.jdo.tck.util.BatchTestRunner.doRun(BatchTestRunner.java:108)
>     [java]      at 
> org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java:148)
>     [java]      at 
> org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java:123)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to