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 "Mike Matrigali (JIRA)" <de...@db.apache.org> on 2006/09/26 08:53:50 UTC

[jira] Created: (DERBY-1887) improve performance of single user long transactions.

improve performance of single user long transactions.
-----------------------------------------------------

                 Key: DERBY-1887
                 URL: http://issues.apache.org/jira/browse/DERBY-1887
             Project: Derby
          Issue Type: Improvement
    Affects Versions: 10.1.3.1
            Reporter: Mike Matrigali


The default logging option for Derby is to write a log page using the user thread, and wait for it to hit disk before allowing the user thread to continue.  For transactions that span multiple log pages these syncs are not necessary (only need to sync when the user commits).  A common case for this is a single user in the system inserting blob/clob columns which in derby need to log the entire contents of the blob/clob.  

Current Java provides a few options:
1) we could dynamically switch to the async writes with a sync at the end.  This would require closing and opening the log file to change the syncing mode.
2) we could push the log writer io to a different thread than the user thread.
there may be others.

Note that this is mostly a single user problem, as when multiple users are involved other threads can continue operating while whatever user thread has been chosen waits for the sync.  This includes adding more log data to the inmemory log buffer.

-- 
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: (DERBY-1887) improve performance of single user long transactions.

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

Mike Matrigali updated DERBY-1887:
----------------------------------

    Component/s: Store

> improve performance of single user long transactions.
> -----------------------------------------------------
>
>                 Key: DERBY-1887
>                 URL: https://issues.apache.org/jira/browse/DERBY-1887
>             Project: Derby
>          Issue Type: Improvement
>          Components: Store
>    Affects Versions: 10.1.3.1
>            Reporter: Mike Matrigali
>
> The default logging option for Derby is to write a log page using the user thread, and wait for it to hit disk before allowing the user thread to continue.  For transactions that span multiple log pages these syncs are not necessary (only need to sync when the user commits).  A common case for this is a single user in the system inserting blob/clob columns which in derby need to log the entire contents of the blob/clob.  
> Current Java provides a few options:
> 1) we could dynamically switch to the async writes with a sync at the end.  This would require closing and opening the log file to change the syncing mode.
> 2) we could push the log writer io to a different thread than the user thread.
> there may be others.
> Note that this is mostly a single user problem, as when multiple users are involved other threads can continue operating while whatever user thread has been chosen waits for the sync.  This includes adding more log data to the inmemory log buffer.

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