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