[ 
https://issues.apache.org/jira/browse/DERBY-3205?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jørgen Løland updated DERBY-3205:
---------------------------------

    Attachment: stopSlave_v1b.diff
                stopSlave_v1b.stat

Thanks for the quick reply, Narayanan. I included your socket close fix in 
stopSlave v1b, and it fixes the problem. I'm now able to unplug the socket.

Version 1b of stopSlave has the following functionality changes compared to 1a:

* Bugfix: Unplugs ServerSocket when slave is stopped
* stopMaster command shuts down the slave as well (in v1a: stopMaster did not 
stop slave replication)
* More error messages

To be able to shutdown the slave database when stop is requested from the 
master, I had to establish a connection in SlaveDatabase. The reason is that 
some cleanup is needed in TransactionResourceImpl, and this only happens when 
the thread shutting down the database has the EmbedConnectionContext.

All tests passed. The patch is ready for review.

> Replication: Add connection url command options for starting, stopping slave 
> and for failover
> ---------------------------------------------------------------------------------------------
>
>                 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
>            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, failover_impl_3205_v1.diff, 
> failover_impl_3205_v1.stat, Socket_Close_Fix_v1.diff, 
> Socket_Close_Fix_v1.stat, startSlave_1a.diff, startSlave_1a.stat, 
> startSlave_1b.diff, startSlave_1b.stat, startSlave_1c.diff, 
> startSlave_1d.diff, StopSlave_impl_3205_NotForCommit_v1.diff, 
> StopSlave_impl_3205_NotForCommit_v1.stat, stopSlave_v1a.diff, 
> stopSlave_v1a.stat, stopSlave_v1b.diff, stopSlave_v1b.stat
>
>
> 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.

Reply via email to