You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Jørgen Løland (JIRA)" <ji...@apache.org> on 2007/07/25 14:48:31 UTC

[jira] Commented: (DERBY-2977) Replication: Add a ReplicationMaster controller that will manage replication on the master side

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

Jørgen Løland commented on DERBY-2977:
--------------------------------------

The initial plan for the replication master controller:

The replication master controller is started when the "start replication master" command (see functional specification in
DERBY-2872) is issued for a database. There will be exactly one replication controller instance for every database with a master role.

It seems to be a good idea to boot the replication controller as a service module on a per need basis. This is, e.g., done to boot the TransactionFactory and DataFactory services in engine/org/apache/derby/impl/store/raw/RawStore.java

RawStore.java#boot, line 215-221:
-----8<-----
xactFactory = (TransactionFactory)
			Monitor.bootServiceModule(
				create, this, getTransactionFactoryModule(), properties);

dataFactory = (DataFactory)
			Monitor.bootServiceModule(
			  create, this, getDataFactoryModule(), properties);
----->8-----

The module will need an API for these commands:

start replication
stop replication

The controller will be managing the replication strategy (asynchronous, 1-safe, 2-safe, very-safe). For now, only
asynchronous is considered. If more strategies are added later, the API should probably be extended with methods to dynamically change the replication strategy.

Development on this issue will likely be incremental - the service must be modified as more functionality is in place.

> Replication: Add a ReplicationMaster controller that will manage replication on the master side
> -----------------------------------------------------------------------------------------------
>
>                 Key: DERBY-2977
>                 URL: https://issues.apache.org/jira/browse/DERBY-2977
>             Project: Derby
>          Issue Type: Sub-task
>          Components: Services
>    Affects Versions: 10.4.0.0
>            Reporter: Jørgen Løland
>
> The replication master role includes many tasks:
> * set up a network connection to the slave
> * sending the database to the slave before starting replication
> * make sure that log records are appended to the network buffer, and that the log is later sent to the slave
> * etc
> This issue is for adding a controller that will start/stop/initiate all services needed for the replication master role.

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