[
https://issues.apache.org/jira/browse/DERBY-3205?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12542749
]
Jørgen Løland commented on DERBY-3205:
--------------------------------------
This issue is meant to handle the aforementioned start/stop commands *after*
the database has been copied to the correct slave location. An issue for
copying the database over the master/slave network connection will be added
later.
I played a bit with startSlave in the proof of concept code. Using a "two
phase" login like in encrypt database seems like a good plan since we need to
authenticate and authorize users starting the slave replication behavior (if
these security measures are turned on). A quick and dirty implementation of the
plan below seems to work fine in the proof of concept code:
EmbedConnection#<init>
if (isReplicationSlaveStart == true)
1) boot database with Property value REPLICATION_MODE=PRE_SLAVE_MODE set
(property not in codeline yet). This ensures that LogToFile does not write
anything to the log files (very important!! Functionality not in codeline yet)
2) authenticate user with the booted database.
3) shut the database down
4) boot the database with Property value REPLICATION_MODE=SLAVE_MODE set
(property already in the codeline). This ensures that the slave replication
functionality is booted, and that the logging system does not leave
LogToFile#recover() (functionality already in codeline)
> Replication: Add connection url command options for starting and stopping
> slave
> -------------------------------------------------------------------------------
>
> Key: DERBY-3205
> URL: https://issues.apache.org/jira/browse/DERBY-3205
> Project: Derby
> Issue Type: Sub-task
> Components: JDBC
> Affects Versions: 10.4.0.0
> Reporter: Jørgen Løland
>
> Add commands to start and stop the replication slave using properties or
> connection url. Example:
> 'jdbc:derby:<host><dbname>;startSlave=true';
> 'jdbc:derby:<host><dbname>;stopSlave=true';
> 'jdbc:derby:<host><dbname>;failover=true;
> Connection url options that must be recognized:
> startSlave=true
> stopSlave=true
> failover=true
> slaveHost=<host> (optional, defaults to localhost) (only for startSlave)
> slavePort=<port> (optional, defaults to 8001) (only for startSlave)
> See functional specification on Derby-2872 for further details.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.