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

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

Re lost replication connection: 
I have experimented a bit and not found a way to loose the connection without 
the slave noticing, but I'm afraid I'm not 100% sure. Maybe Socket.isConnected 
can be used? Otherwise, pinging the master would be a way to be absolutely 
sure. That would require more work though.

Re comment on EmbedConnection isFailoverMasterBoot:
Authentication is checked as part of startTransaction. That is why the 
slave-side failover must be performed before startTransaction while master-side 
failover must be performed after startTransaction. However, I see that db 
ownership is not checked for any of startMaster, stopMaster or masterside 
failover. If it is ok with you, I'll move these three down a few lines to the 
following block:

if (isTwoPhaseEncryptionBoot ||
    isTwoPhaseUpgradeBoot ||
    isStartSlaveBoot) {
...}

in a followup patch.


> 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: Jørgen Løland
>         Attachments: derby-3205_startslave_dontcommit.diff, 
> derby-3205_startslave_dontcommit.stat, failover-slave-1a.diff, 
> failover-slave-1a.stat, failover_impl_3205_NotForCommit_v1.diff, 
> failover_impl_3205_NotForCommit_v1.stat, failover_impl_3205_v1.diff, 
> failover_impl_3205_v1.stat, failover_impl_3205_v2.diff, 
> failover_impl_3205_v2.stat, failover_impl_3205_v3.diff, 
> failover_impl_3205_v3.stat, failover_impl_3205_v4.diff, 
> failover_impl_3205_v4.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, 
> stopSlave_v1c.diff, stopSlave_v1c.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