[
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_v1c.diff
stopSlave_v1c.stat
Thanks for reviewing stopSlave v1b Øystein.
I have addressed most of your comments in patch 1c. Comments:
2e: When a database is shut down, the TransactionResource needs to be cleaned.
I found no other way of doing this than setting up a connection.
3a: I don't know why the message is logged twice in derby.log. The same applies
to startSlave. I will fix this in a later patch.
4a: You are right, but this is not harmful since recover() is only allowed to
redo log files that have been completed. The only problem with letting recover
complete redo of a log file is that it may take a little longer before the
database is shut down. To fix this, we could use a reference to the recovery
thread and interrupt it, or we could make FileLogger check for the
replicationSlaveException between every redone log record. However, I don't
think this added complexity is justified at the moment. At least not until we
get feedback that this is unacceptable. Unless you feel strongly about it, I
will not address this now.
5b: XRE40 is thrown from locations where the database name is unknown (in
BasicDatabase). I'm reluctant to add the dbname to the method signature only to
get it into the exception text, especially since this exception is only thrown
from connection-attempts that have to specify the db name.
> 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, failover_impl_3205_v2.diff,
> failover_impl_3205_v2.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.