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-3205) Replication: Add connection url command options for starting and stopping slave
Date Tue, 08 Jan 2008 08:25:34 GMT

    [ https://issues.apache.org/jira/browse/DERBY-3205?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12556838#action_12556838

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

I had a look at the stopSlave and failover v1 patch.  A few comments:

You cannot get a connection to a database in replication slave mode. This implies that:

1) (I have not tried it, but...) I think the new method EmbedConnection#handleStopReplicationSlave
will not work because the call to getLanguageConnection() will throw an exception (cannot
connect...). See DERBY-2872 discussion and funcspec for more details why authorization cannot
be performed on a database in slave mode.

2) Since you cannot get a connection to the database, tr.getDatabase().<method> will
not work. The stopSlave command must be handed to the slave database through connect, i.e.
by setting a value in the Properties object and calling tr.getDatabase(). Instead of tr.getDatabase().stopReplicationSlave(),
you need to do:

p.setProperty(SlaveFactory.REPLICATION_MODE, SlaveFactory.STOP);

And in SlaveDatabase.setupConnection, you will need:

String isStop = p.getProperty(SlaveFactory.REPLICATION_MODE);
if (isStop.equals(SlaveFactory.STOP)) {

> 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:
>            Reporter: Jørgen Løland
>            Assignee: V.Narayanan
>         Attachments: derby-3205_startslave_dontcommit.diff, derby-3205_startslave_dontcommit.stat,
failover_impl_3205_NotForCommit_v1.diff, failover_impl_3205_NotForCommit_v1.stat, startSlave_1a.diff,
startSlave_1a.stat, StopSlave_impl_3205_NotForCommit_v1.diff, StopSlave_impl_3205_NotForCommit_v1.stat
> Add commands to start and stop the replication slave using properties or connection url.
> '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.

View raw message