db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Øystein Grøvlen (JIRA) <j...@apache.org>
Subject [jira] Commented: (DERBY-3205) Replication: Add connection url command options for starting, stopping slave and for failover
Date Thu, 28 Feb 2008 13:07:55 GMT

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

Øystein Grøvlen commented on DERBY-3205:
----------------------------------------

I have look at the failover-slave-2a patch, and the EmbedConnection
changes looks good.  I have also tested that if I am not the database
owner, I am not allowed to initiate failover.

For the SlaveController changes, I do not quite understand the
catching of SecurityException in stopReceiverThread.  Is this
something you get when you run with the security manager?  Does this
mean that this should ideally be put in a doPrivileged call?  If it
happens, I guess the thread will not be interrupted, but according to
the comment this is OK since the thread will stop anyway.  So why call
interrupt in the first place?

I tested a scenario where I started replication and directly killed
the master without performing any database operations.  When I
performed failover on the slave, the statement never completed.  The
derby.log file showed that the recovery thread had got an error
similar to what I reported in DERBY-3475 after it had detected that
the master had died.  This caused the boot thread to terminate, but
my connection attempt was still hanging in the sleep call of
SlaveDatabase#failover.  It seems there is some more clean-up that is
missing.


> 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-slave-2a.diff, failover-slave-2a.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.


Mime
View raw message