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