db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jørgen Løland (JIRA) <j...@apache.org>
Subject [jira] Created: (DERBY-2939) Log file is flushed every time a log buffer gets full
Date Mon, 16 Jul 2007 12:51:04 GMT
Log file is flushed every time a log buffer gets full
-----------------------------------------------------

                 Key: DERBY-2939
                 URL: https://issues.apache.org/jira/browse/DERBY-2939
             Project: Derby
          Issue Type: Bug
          Components: Store
    Affects Versions: 10.3.1.3, 10.4.0.0
            Reporter: Jørgen Løland


LogAccessFile consists of a number of log buffers: LinkedList<LogAccessFileBuffer> freeBuffers
and dirtyBuffers, and LogAccessFileBuffer currentBuffer.

When a log record is written to log, writeLogRecord wrongly assumes that the log record is
too big to fit in any log buffer if there is not enough free space in the current log buffer.
The code:

if (total_log_record_length <= currentBuffer.bytes_free) {
<append log record to current buffer>
...
} else {
<log record too big to fit in any buffer>
...
}

should be modified to:

if (total_log_record_length <= currentBuffer.bytes_free) {
<append log record to current buffer>
...
} else if (total_log_record_length <= currentBuffer.length) {
<swap log buffer>
<append log record to new current buffer>
...
} else {
<log record too big to fit in any buffer>
...
}


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


Mime
View raw message