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] Issue Comment Edited: (DERBY-3492) When the replication log buffer becomes full, the chunk of log that should be appended is to the buffer is discarded
Date Tue, 04 Mar 2008 15:25:41 GMT

    [ https://issues.apache.org/jira/browse/DERBY-3492?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12575019#action_12575019
] 

jorgenlo edited comment on DERBY-3492 at 3/4/08 7:25 AM:
--------------------------------------------------------------

Patch 1a appends the log chunk to the replication log buffer after forcing a log shipment
to the slave. 

Without the patch, replication consistently fails with a "ERROR XRE05: The log files on the
master and slave are not in synch..." exception a few seconds after forceFlush is called (reproduce
by starting a transaction with *many* inserts or deletes; exception only written to derby.log
on slave). With the patch, I have not been able to reproduce the bug.

All tests passed (with the exception of TransactionTable.sql which also fails in tinderbox).
Request for review.

      was (Author: jorgenlo):
    Patch 1a appends the log chunk to the replication log buffer after forcing a log shipment
to the slave. 

Without the patch, replication consistently fails with a "ERROR XRE05: The log files on the
master and slave are not in synch..." exception a few seconds after forceFlush is called (reproduce
by starting a transaction with *many* inserts or deletes; exception only written to derby.log
on slave). With the patch, I have not been able to reproduce the bug.

All tests passed. Request for review.
  
> When the replication log buffer becomes full, the chunk of log that should be appended
is to the buffer is discarded
> --------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-3492
>                 URL: https://issues.apache.org/jira/browse/DERBY-3492
>             Project: Derby
>          Issue Type: Bug
>          Components: Replication
>    Affects Versions: 10.4.0.0
>            Reporter: Jørgen Løland
>            Assignee: Jørgen Løland
>         Attachments: derby-3492-1a.diff, derby-3492-1a.stat
>
>
> In MasterController#appendLog, log is force-sent to the slave if the replication log
buffer becomes full. However, the log chunk that should have been appended is discarded:
> try {
>      logBuffer.appendLog(greatestInstant, log, logOffset, logLength);
> } catch (LogBufferFullException lbfe) {
>      try {
>          logShipper.forceFlush();
>      } catch (IOException ioe) {
> ...
> }
> The log chunk must be added after freeing a log buffer by calling forceFlush

-- 
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