Simplify initiation of replication
----------------------------------

                 Key: DERBY-4197
                 URL: https://issues.apache.org/jira/browse/DERBY-4197
             Project: Derby
          Issue Type: New Feature
          Components: Replication
    Affects Versions: 10.6.0.0
            Reporter: Jørgen Løland
            Priority: Minor


Starting Derby replication is brittle; you need to perform multiple steps in 
exact order. Furthermore, the steps involves freezing the database on the 
master Derby instance the time it takes to copy the database to the slave node.

A much simpler way to start replication would be:

1) Make an online backup of the database on the master Derby instance. Enable 
log archiving.
2) Copy the backup to the slave node while the master Derby instance continues 
to handle transactions
3) Boot the slave database in slave mode.
4) Master sends all log written since the backup was made, or from a specified 
log instant (a number that can be specified as an option to either the 
startSlave or startMaster command?).

The main implementation effort is in step 4, because this step requires the 
master derby instance to read and send log records that are on disk. This 
differs from the current replication code that captures log records on the 
master as they are about to be written to disk (i.e., replication does not read 
files). 

Since the master instance is supposed to continue transaction processing, it 
will write to the latest log file while the replication thread will have to 
read log files (including the currently open one). The Derby code that reads 
log files is written to handle a single thread (the recovery thread) only in 
the current implementation. 

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