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