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] Commented: (DERBY-2977) Replication: Add a ReplicationMaster controller that will manage replication on the master side
Date Wed, 25 Jul 2007 12:48:31 GMT

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


Mime
View raw message