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 "Kristian Waagan (JIRA)" <ji...@apache.org> on 2009/11/17 11:26:39 UTC

[jira] Created: (DERBY-4447) Add internal block mechanism to reject new database connections

Add internal block mechanism to reject new database connections
---------------------------------------------------------------

                 Key: DERBY-4447
                 URL: https://issues.apache.org/jira/browse/DERBY-4447
             Project: Derby
          Issue Type: Task
          Components: Miscellaneous
    Affects Versions: 10.6.0.0
            Reporter: Kristian Waagan
            Assignee: Kristian Waagan


When performing certain database operations, it would be useful if Derby
automatically blocked new connections to the database. Examples of such
operations are dropping a database and shutting down a database.

The block access feature would allow for:
 - More graceful shutdowns.
   New connections are rejected, and one could also implement a feature
   for waiting until all existing connections are disconnected.

-  Better error reporting for the clients.
   Instead of getting potentially "random" exceptions, a more
   well-defined set of exceptions can be expected. For instance, getting
   messages about NullPointerExceptions, container X not found,
   and database boot failed should occur more seldom (if at all). Instead the
   clients will get one of the following messages:
    * Database not found (only if the database is dropped).
    * Shutdown exception (comes in two flavors).
    * Access blocked due to reason X.

See the thread http://markmail.org/message/ik7zgxsizg6gnyw6 (posted on derby-dev).
Also, see the attached spec.

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


[jira] Assigned: (DERBY-4447) Add internal block mechanism to reject new database connections

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

Kristian Waagan reassigned DERBY-4447:
--------------------------------------

    Assignee:     (was: Kristian Waagan)

Not working on this now.

Remember to consider enabling the test contributed under DERBY-4436 if the feature is implemented.

> Add internal block mechanism to reject new database connections
> ---------------------------------------------------------------
>
>                 Key: DERBY-4447
>                 URL: https://issues.apache.org/jira/browse/DERBY-4447
>             Project: Derby
>          Issue Type: Task
>          Components: Miscellaneous
>    Affects Versions: 10.6.1.0
>            Reporter: Kristian Waagan
>         Attachments: DatabaseAccessBlocking_r2_0.txt
>
>
> When performing certain database operations, it would be useful if Derby
> automatically blocked new connections to the database. Examples of such
> operations are dropping a database and shutting down a database.
> The block access feature would allow for:
>  - More graceful shutdowns.
>    New connections are rejected, and one could also implement a feature
>    for waiting until all existing connections are disconnected.
> -  Better error reporting for the clients.
>    Instead of getting potentially "random" exceptions, a more
>    well-defined set of exceptions can be expected. For instance, getting
>    messages about NullPointerExceptions, container X not found,
>    and database boot failed should occur more seldom (if at all). Instead the
>    clients will get one of the following messages:
>     * Database not found (only if the database is dropped).
>     * Shutdown exception (comes in two flavors).
>     * Access blocked due to reason X.
> See the thread http://markmail.org/message/ik7zgxsizg6gnyw6 (posted on derby-dev).
> Also, see the attached spec.

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


[jira] Commented: (DERBY-4447) Add internal block mechanism to reject new database connections

Posted by "Knut Anders Hatlen (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/DERBY-4447?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12778845#action_12778845 ] 

Knut Anders Hatlen commented on DERBY-4447:
-------------------------------------------

The thread on derby-dev mentions two use-cases where it might prevent a race condition: upgrading and re-encrypting the database. A similar race condition might occur when initializing replication. One normally copies the database from the master to the slave, and then boots the slave database with startSlave=true. If a client attempts to connect to the slave database before startSlave has been invoked, the slave db will be booted and get out of sync with the master. In such a situation, the slave db must be dropped and copied from the master again.

> Add internal block mechanism to reject new database connections
> ---------------------------------------------------------------
>
>                 Key: DERBY-4447
>                 URL: https://issues.apache.org/jira/browse/DERBY-4447
>             Project: Derby
>          Issue Type: Task
>          Components: Miscellaneous
>    Affects Versions: 10.6.0.0
>            Reporter: Kristian Waagan
>            Assignee: Kristian Waagan
>         Attachments: DatabaseAccessBlocking_r2_0.txt
>
>
> When performing certain database operations, it would be useful if Derby
> automatically blocked new connections to the database. Examples of such
> operations are dropping a database and shutting down a database.
> The block access feature would allow for:
>  - More graceful shutdowns.
>    New connections are rejected, and one could also implement a feature
>    for waiting until all existing connections are disconnected.
> -  Better error reporting for the clients.
>    Instead of getting potentially "random" exceptions, a more
>    well-defined set of exceptions can be expected. For instance, getting
>    messages about NullPointerExceptions, container X not found,
>    and database boot failed should occur more seldom (if at all). Instead the
>    clients will get one of the following messages:
>     * Database not found (only if the database is dropped).
>     * Shutdown exception (comes in two flavors).
>     * Access blocked due to reason X.
> See the thread http://markmail.org/message/ik7zgxsizg6gnyw6 (posted on derby-dev).
> Also, see the attached spec.

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


[jira] Updated: (DERBY-4447) Add internal block mechanism to reject new database connections

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

Kristian Waagan updated DERBY-4447:
-----------------------------------

    Attachment: DatabaseAccessBlocking_r2_0.txt

Revision 2.0 of the spec.

> Add internal block mechanism to reject new database connections
> ---------------------------------------------------------------
>
>                 Key: DERBY-4447
>                 URL: https://issues.apache.org/jira/browse/DERBY-4447
>             Project: Derby
>          Issue Type: Task
>          Components: Miscellaneous
>    Affects Versions: 10.6.0.0
>            Reporter: Kristian Waagan
>            Assignee: Kristian Waagan
>         Attachments: DatabaseAccessBlocking_r2_0.txt
>
>
> When performing certain database operations, it would be useful if Derby
> automatically blocked new connections to the database. Examples of such
> operations are dropping a database and shutting down a database.
> The block access feature would allow for:
>  - More graceful shutdowns.
>    New connections are rejected, and one could also implement a feature
>    for waiting until all existing connections are disconnected.
> -  Better error reporting for the clients.
>    Instead of getting potentially "random" exceptions, a more
>    well-defined set of exceptions can be expected. For instance, getting
>    messages about NullPointerExceptions, container X not found,
>    and database boot failed should occur more seldom (if at all). Instead the
>    clients will get one of the following messages:
>     * Database not found (only if the database is dropped).
>     * Shutdown exception (comes in two flavors).
>     * Access blocked due to reason X.
> See the thread http://markmail.org/message/ik7zgxsizg6gnyw6 (posted on derby-dev).
> Also, see the attached spec.

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