You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Knut Anders Hatlen (JIRA)" <ji...@apache.org> on 2012/04/24 10:57:34 UTC

[jira] [Created] (DERBY-5705) Authorization decorators don't null out connections when done

Knut Anders Hatlen created DERBY-5705:
-----------------------------------------

             Summary: Authorization decorators don't null out connections when done
                 Key: DERBY-5705
                 URL: https://issues.apache.org/jira/browse/DERBY-5705
             Project: Derby
          Issue Type: Bug
          Components: Test
    Affects Versions: 10.9.0.0
            Reporter: Knut Anders Hatlen
            Assignee: Knut Anders Hatlen


Some decorators used to test authorization don't close and null out references to Connection objects when they have completed. Since these tests often create/boot single-use databases, and the Connection objects have references to the database instance and, directly or indirectly, many of its modules, this prevents much garbage from being removed from the heap after the tests have completed and shut down their single-use databases. We should close the default connection and clear the reference to it when tearing down these decorators, so the space is released for subsequent tests to use.

This problem affects decorators returned by the following methods:

DatabasePropertyTestSetup.builtinAuthenticationNoTeardown()
TestConfiguration.sqlAuthorizationDecorator()
TestConfiguration.sqlAuthorizationDecoratorSingleUse()

These methods return modified versions of DatabasePropertyTestSetup where the tearDown() method is a no-op.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (DERBY-5705) Authorization decorators don't null out connections when done

Posted by "Knut Anders Hatlen (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/DERBY-5705?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Knut Anders Hatlen updated DERBY-5705:
--------------------------------------

    Attachment: d5705-1a.diff

Attaching a patch that makes the following changes:

- Use the (already existing) method DatabasePropertyTestSetup.getNoTeardownInstance() instead of having many DatabasePropertyTestSetup classes that override tearDown() with an empty method. (To make it possible to have the new logic that releases the resources at just one location.)

- Make the tearDown() method in the decorator returned by DatabasePropertyTestSetup.getNoTeardownInstance() close and null out the default connection.

These changes preserve the main purpose of these decorators, which is that they shouldn't reset the properties in tearDown(), and at the same time allows the connection and its resources to be garbage collected once they're no longer used.

suites.All ran successfully with the patch.

I also verified that the patch reduced the number of BasicDatabase instances still held on the heap after running RolesTest and DboPowersTest. The numbers were reduced from 8 to 4, and from 50 to 36, respectively. (I had expected that the numbers would go down to one or two (wombat + dbsqlauth), so there may still be some other related bugs.)
                
> Authorization decorators don't null out connections when done
> -------------------------------------------------------------
>
>                 Key: DERBY-5705
>                 URL: https://issues.apache.org/jira/browse/DERBY-5705
>             Project: Derby
>          Issue Type: Bug
>          Components: Test
>    Affects Versions: 10.9.0.0
>            Reporter: Knut Anders Hatlen
>            Assignee: Knut Anders Hatlen
>         Attachments: d5705-1a.diff
>
>
> Some decorators used to test authorization don't close and null out references to Connection objects when they have completed. Since these tests often create/boot single-use databases, and the Connection objects have references to the database instance and, directly or indirectly, many of its modules, this prevents much garbage from being removed from the heap after the tests have completed and shut down their single-use databases. We should close the default connection and clear the reference to it when tearing down these decorators, so the space is released for subsequent tests to use.
> This problem affects decorators returned by the following methods:
> DatabasePropertyTestSetup.builtinAuthenticationNoTeardown()
> TestConfiguration.sqlAuthorizationDecorator()
> TestConfiguration.sqlAuthorizationDecoratorSingleUse()
> These methods return modified versions of DatabasePropertyTestSetup where the tearDown() method is a no-op.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Closed] (DERBY-5705) Authorization decorators don't null out connections when done

Posted by "Knut Anders Hatlen (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/DERBY-5705?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Knut Anders Hatlen closed DERBY-5705.
-------------------------------------

          Resolution: Fixed
       Fix Version/s: 10.9.0.0
    Issue & fix info:   (was: Patch Available)

Committed revision 1330196.
                
> Authorization decorators don't null out connections when done
> -------------------------------------------------------------
>
>                 Key: DERBY-5705
>                 URL: https://issues.apache.org/jira/browse/DERBY-5705
>             Project: Derby
>          Issue Type: Bug
>          Components: Test
>    Affects Versions: 10.9.0.0
>            Reporter: Knut Anders Hatlen
>            Assignee: Knut Anders Hatlen
>             Fix For: 10.9.0.0
>
>         Attachments: d5705-1a.diff
>
>
> Some decorators used to test authorization don't close and null out references to Connection objects when they have completed. Since these tests often create/boot single-use databases, and the Connection objects have references to the database instance and, directly or indirectly, many of its modules, this prevents much garbage from being removed from the heap after the tests have completed and shut down their single-use databases. We should close the default connection and clear the reference to it when tearing down these decorators, so the space is released for subsequent tests to use.
> This problem affects decorators returned by the following methods:
> DatabasePropertyTestSetup.builtinAuthenticationNoTeardown()
> TestConfiguration.sqlAuthorizationDecorator()
> TestConfiguration.sqlAuthorizationDecoratorSingleUse()
> These methods return modified versions of DatabasePropertyTestSetup where the tearDown() method is a no-op.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (DERBY-5705) Authorization decorators don't null out connections when done

Posted by "Knut Anders Hatlen (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/DERBY-5705?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Knut Anders Hatlen updated DERBY-5705:
--------------------------------------

    Issue & fix info: Patch Available
    
> Authorization decorators don't null out connections when done
> -------------------------------------------------------------
>
>                 Key: DERBY-5705
>                 URL: https://issues.apache.org/jira/browse/DERBY-5705
>             Project: Derby
>          Issue Type: Bug
>          Components: Test
>    Affects Versions: 10.9.0.0
>            Reporter: Knut Anders Hatlen
>            Assignee: Knut Anders Hatlen
>         Attachments: d5705-1a.diff
>
>
> Some decorators used to test authorization don't close and null out references to Connection objects when they have completed. Since these tests often create/boot single-use databases, and the Connection objects have references to the database instance and, directly or indirectly, many of its modules, this prevents much garbage from being removed from the heap after the tests have completed and shut down their single-use databases. We should close the default connection and clear the reference to it when tearing down these decorators, so the space is released for subsequent tests to use.
> This problem affects decorators returned by the following methods:
> DatabasePropertyTestSetup.builtinAuthenticationNoTeardown()
> TestConfiguration.sqlAuthorizationDecorator()
> TestConfiguration.sqlAuthorizationDecoratorSingleUse()
> These methods return modified versions of DatabasePropertyTestSetup where the tearDown() method is a no-op.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira