[ 
https://issues.apache.org/jira/browse/DERBY-3051?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12527999
 ] 

Øystein Grøvlen commented on DERBY-3051:
----------------------------------------

Patch looks good.  I have only nits on my list:

1. LogToFile#inReplicationMasterMode:

   LogToFile also has a member inSlaveMode.  Maybe that should be
   called inReplicationSlaveMode for uniformity?  Also, I think the
   declaration of these two member fields should be placed together.

2. LogToFile#appendLogRecord: 
   
   Any particular reason that MasterFactory#appendLogRecord has a
   different ordering of the parameters than
   LogToFile#appendLogRecord.  I think the code would be easier to
   read if the methods had the same parameter ordering.

3. LogToFile#flush: 

   What does the '?' behind INVALID_LOG_INSTANT mean?

4. LogToFile#startReplicationMasterRole, javadoc:

   I would say 'pass log records' instead of 'send ...' in order to
   make it clearer that the MasterFactory is on the same node, and
   that we here are not talking about sending it over the network to
   the MasterFactory.

5. LogToFile#stopReplicationMasterRole, javadoc:

   Seems not right to mention ReadOnly here since that is a different
   implementation of LogFactory.

6. LogFactory#(start|stop)ReplicationMasterRole, javadoc:

   The javadoc references to the corresponding ReadOnly methods does
   not seem necessary to me.


> Replication: Modify logging subsystem to append log records to the 
> replication buffer when in replication master mode
> ---------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-3051
>                 URL: https://issues.apache.org/jira/browse/DERBY-3051
>             Project: Derby
>          Issue Type: Sub-task
>          Components: Services, Store
>    Affects Versions: 10.4.0.0
>            Reporter: Jørgen Løland
>            Assignee: Jørgen Løland
>         Attachments: derby_3051_1.diff, derby_3051_1.stat
>
>
> When Derby has the replication master role for a database 'x', it should ship 
> all log records generated for this database to the Derby with the slave role. 
> A replication buffer was added to Derby in DERBY-2926. This issue is for 
> modifying the logging subsystem to append log records to this buffer every 
> time a log records is appended to the disk buffer (LogAccessFile). This will, 
> of course, only be done if it has the master role.
> Currently, I have identified two modifications that will be required in 
> LogToFile:
> * LogToFile#appendLogRecord needs to append to the replication buffer after 
> appending to the disk buffer
> * LogToFile#flush (i.e., the method used to force buffered log records to 
> disk) must notify the Master Controller (DERBY-2977) that a flush has taken 
> place. The MasterController will decide if any action is required because of 
> this. 

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

Reply via email to