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 "Marc Prud'hommeaux (JIRA)" <ji...@apache.org> on 2006/08/30 11:00:22 UTC

[jira] Created: (JDO-415) DataStoreConnection assumes datastore transactions are being used

DataStoreConnection assumes datastore transactions are being used
-----------------------------------------------------------------

                 Key: JDO-415
                 URL: http://issues.apache.org/jira/browse/JDO-415
             Project: JDO
          Issue Type: Bug
          Components: tck20
    Affects Versions: JDO 2 final
            Reporter: Marc Prud'hommeaux
            Priority: Minor



org.apache.jdo.tck.api.persistencemanager.DataStoreConnection assumes that the transaction returned from getDataStoreConnection will be re-used once a JDO transaction is started, but that assertion is only valid when using datastore transactions, and the test case does not ensure that a datastore transaction is being used.

The solution is to call "getPM().currentTransaction().setOptimistic(false);" just before "getPM().currentTransaction().begin();" in the testDataStoreConnection() test case.



-- 
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-415) DataStoreConnection assumes datastore transactions are being used

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

Craig Russell resolved JDO-415.
-------------------------------

    Resolution: Fixed

svn commit src/java/org/apache/jdo/tck/api/persistencemanager
Sending        src/java/org/apache/jdo/tck/api/persistencemanager/DataStoreConnection.java
Transmitting file data .
Committed revision 453089.


> DataStoreConnection assumes datastore transactions are being used
> -----------------------------------------------------------------
>
>                 Key: JDO-415
>                 URL: http://issues.apache.org/jira/browse/JDO-415
>             Project: JDO
>          Issue Type: Bug
>          Components: tck20
>    Affects Versions: JDO 2 final
>            Reporter: Marc Prud'hommeaux
>         Assigned To: Craig Russell
>            Priority: Minor
>             Fix For: JDO 2 maintenance release 1, JDO 2.0 TCK challenge fixes
>
>         Attachments: JDO-415.patch
>
>
> org.apache.jdo.tck.api.persistencemanager.DataStoreConnection assumes that the connection returned from getDataStoreConnection will be re-used once a JDO transaction is started, but that assertion is only valid when using datastore transactions, and the test case does not ensure that a datastore transaction is being used.
> The solution is to call "getPM().currentTransaction().setOptimistic(false);" just before "getPM().currentTransaction().begin();" in the testDataStoreConnection() test case.

-- 
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] Updated: (JDO-415) DataStoreConnection assumes datastore transactions are being used

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

Craig Russell updated JDO-415:
------------------------------

    Description: 
org.apache.jdo.tck.api.persistencemanager.DataStoreConnection assumes that the connection returned from getDataStoreConnection will be re-used once a JDO transaction is started, but that assertion is only valid when using datastore transactions, and the test case does not ensure that a datastore transaction is being used.

The solution is to call "getPM().currentTransaction().setOptimistic(false);" just before "getPM().currentTransaction().begin();" in the testDataStoreConnection() test case.



  was:

org.apache.jdo.tck.api.persistencemanager.DataStoreConnection assumes that the transaction returned from getDataStoreConnection will be re-used once a JDO transaction is started, but that assertion is only valid when using datastore transactions, and the test case does not ensure that a datastore transaction is being used.

The solution is to call "getPM().currentTransaction().setOptimistic(false);" just before "getPM().currentTransaction().begin();" in the testDataStoreConnection() test case.



       Assignee: Craig Russell

> DataStoreConnection assumes datastore transactions are being used
> -----------------------------------------------------------------
>
>                 Key: JDO-415
>                 URL: http://issues.apache.org/jira/browse/JDO-415
>             Project: JDO
>          Issue Type: Bug
>          Components: tck20
>    Affects Versions: JDO 2 final
>            Reporter: Marc Prud'hommeaux
>         Assigned To: Craig Russell
>            Priority: Minor
>
> org.apache.jdo.tck.api.persistencemanager.DataStoreConnection assumes that the connection returned from getDataStoreConnection will be re-used once a JDO transaction is started, but that assertion is only valid when using datastore transactions, and the test case does not ensure that a datastore transaction is being used.
> The solution is to call "getPM().currentTransaction().setOptimistic(false);" just before "getPM().currentTransaction().begin();" in the testDataStoreConnection() test case.

-- 
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] Commented: (JDO-415) DataStoreConnection assumes datastore transactions are being used

Posted by "Michael Bouschen (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/JDO-415?page=comments#action_12439955 ] 
            
Michael Bouschen commented on JDO-415:
--------------------------------------

The patch looks good!

> DataStoreConnection assumes datastore transactions are being used
> -----------------------------------------------------------------
>
>                 Key: JDO-415
>                 URL: http://issues.apache.org/jira/browse/JDO-415
>             Project: JDO
>          Issue Type: Bug
>          Components: tck20
>    Affects Versions: JDO 2 final
>            Reporter: Marc Prud'hommeaux
>         Assigned To: Craig Russell
>            Priority: Minor
>         Attachments: JDO-415.patch
>
>
> org.apache.jdo.tck.api.persistencemanager.DataStoreConnection assumes that the connection returned from getDataStoreConnection will be re-used once a JDO transaction is started, but that assertion is only valid when using datastore transactions, and the test case does not ensure that a datastore transaction is being used.
> The solution is to call "getPM().currentTransaction().setOptimistic(false);" just before "getPM().currentTransaction().begin();" in the testDataStoreConnection() test case.

-- 
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] Updated: (JDO-415) DataStoreConnection assumes datastore transactions are being used

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

Craig Russell updated JDO-415:
------------------------------

    Attachment: JDO-415.patch

Please review this patch.

There are three problems with the original test case. 

1. As the bug noted, the DataStoreConnection is acquired outside a transaction, and there is no guarantee that the DataStoreConnection is even valid after beginning a transaction. So I changed the code to acquire the DataStoreConnection only after beginning a transaction.

2. If the implementation supports Optimistic transactions, then the test should be repeated for both optimistic and datastore transactions.

3. The transaction is never committed. This is fixed by putting the DataStoreConnection close and the transaction.commit into the finally block.


> DataStoreConnection assumes datastore transactions are being used
> -----------------------------------------------------------------
>
>                 Key: JDO-415
>                 URL: http://issues.apache.org/jira/browse/JDO-415
>             Project: JDO
>          Issue Type: Bug
>          Components: tck20
>    Affects Versions: JDO 2 final
>            Reporter: Marc Prud'hommeaux
>         Assigned To: Craig Russell
>            Priority: Minor
>         Attachments: JDO-415.patch
>
>
> org.apache.jdo.tck.api.persistencemanager.DataStoreConnection assumes that the connection returned from getDataStoreConnection will be re-used once a JDO transaction is started, but that assertion is only valid when using datastore transactions, and the test case does not ensure that a datastore transaction is being used.
> The solution is to call "getPM().currentTransaction().setOptimistic(false);" just before "getPM().currentTransaction().begin();" in the testDataStoreConnection() test case.

-- 
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] Updated: (JDO-415) DataStoreConnection assumes datastore transactions are being used

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

Craig Russell updated JDO-415:
------------------------------

    Fix Version/s: JDO 2 maintenance release 1
                   JDO 2.0 TCK challenge fixes

> DataStoreConnection assumes datastore transactions are being used
> -----------------------------------------------------------------
>
>                 Key: JDO-415
>                 URL: http://issues.apache.org/jira/browse/JDO-415
>             Project: JDO
>          Issue Type: Bug
>          Components: tck20
>    Affects Versions: JDO 2 final
>            Reporter: Marc Prud'hommeaux
>         Assigned To: Craig Russell
>            Priority: Minor
>             Fix For: JDO 2 maintenance release 1, JDO 2.0 TCK challenge fixes
>
>         Attachments: JDO-415.patch
>
>
> org.apache.jdo.tck.api.persistencemanager.DataStoreConnection assumes that the connection returned from getDataStoreConnection will be re-used once a JDO transaction is started, but that assertion is only valid when using datastore transactions, and the test case does not ensure that a datastore transaction is being used.
> The solution is to call "getPM().currentTransaction().setOptimistic(false);" just before "getPM().currentTransaction().begin();" in the testDataStoreConnection() test case.

-- 
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] Commented: (JDO-415) DataStoreConnection assumes datastore transactions are being used

Posted by "Craig Russell (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/JDO-415?page=comments#action_12440015 ] 
            
Craig Russell commented on JDO-415:
-----------------------------------

Commit for the branch/2.0.1

svn commit -m "JDO-415" 
Sending        tck20/src/java/org/apache/jdo/tck/api/persistencemanager/DataStoreConnection.java
Transmitting file data .
Committed revision 453090.


> DataStoreConnection assumes datastore transactions are being used
> -----------------------------------------------------------------
>
>                 Key: JDO-415
>                 URL: http://issues.apache.org/jira/browse/JDO-415
>             Project: JDO
>          Issue Type: Bug
>          Components: tck20
>    Affects Versions: JDO 2 final
>            Reporter: Marc Prud'hommeaux
>         Assigned To: Craig Russell
>            Priority: Minor
>             Fix For: JDO 2 maintenance release 1, JDO 2.0 TCK challenge fixes
>
>         Attachments: JDO-415.patch
>
>
> org.apache.jdo.tck.api.persistencemanager.DataStoreConnection assumes that the connection returned from getDataStoreConnection will be re-used once a JDO transaction is started, but that assertion is only valid when using datastore transactions, and the test case does not ensure that a datastore transaction is being used.
> The solution is to call "getPM().currentTransaction().setOptimistic(false);" just before "getPM().currentTransaction().begin();" in the testDataStoreConnection() test case.

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