db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "V.Narayanan (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DERBY-3358) After an incorrect(unsuccesfull) startMaster comand, further correct startMaster attempts also fail.
Date Thu, 06 Mar 2008 06:32:58 GMT

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

V.Narayanan commented on DERBY-3358:
------------------------------------

In this comment there are two things being suggested for the implementation

>- stopMaster: It seems I have misunderstood what the code actually
>   does here. I thought that stopMaster when replication was not on,
>   would be flagged as an error, and in my opinion that would be the
>   right thing to do. 

Throw an exception if replication has been stopped

>   Anyhow, your implementation does not make
>   stopMaster fully idempotent since you will write another
>   REPLICATION_MASTER_STOPPED message to derby.log. I do not think
>   that is a good idea since it will make it more difficult to tell
>   when the replication was actually stopped. 

This part is confusing,

I agree that it is not a good idea to write a replication stopped message
each time stopMaster is called

But is throwing an exception if replication is stopped suggested? 

Or should the stop master method exit without doing anything?

I would personally go for throwing the exception, because upon retrospection it
seems the right thing to do to tell the user that replication has been stopped
rather than just be quiet.

Wondering what pushed me towards idempotence in the first place :-/ .

I will modify v3 to throw an exception. Pls do mention if this is not the right thing
to do.

> After an incorrect(unsuccesfull) startMaster comand, further correct startMaster attempts
also fail.
> ----------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-3358
>                 URL: https://issues.apache.org/jira/browse/DERBY-3358
>             Project: Derby
>          Issue Type: Bug
>          Components: Replication
>    Affects Versions: 10.4.0.0
>         Environment: Trunk (615841) + patch DERBY-3205/stopSlave_v1b
>            Reporter: Ole Solberg
>            Assignee: V.Narayanan
>         Attachments: Derby3358.diff, Derby3358.stat, Derby3358_v2.diff, Derby3358_v2.stat,
Derby3358_v3.diff, Derby3358_v3.stat
>
>
> Slave and master servers started.
> startSlave:
> CONNECT 'jdbc:derby://atum11:9999/test;startSlave=true;slaveHost=atum11;slavePort=8989';
> ERROR XRE08: DERBY SQL error: SQLCODE: -1, SQLSTATE: XRE08, SQLERRMC: Replication slave
mode started successfully for database 'test'. Connection refused because the database is
in replication slave mode. 
> startMaster without specifying slavePort - will use default?
> CONNECT 'jdbc:derby://atum11:8888/test;startMaster=true;slaveHost=atum11';
> ERROR XRE04: DERBY SQL error: SQLCODE: -1, SQLSTATE: XRE04, SQLERRMC: nullXRE04
> master derby.log:
> 2008-01-29 10:02:53.097 GMT:
>  Booting Derby version The Apache Software Foundation - Apache Derby - 10.4.0.0 alpha
- (615841M): instance c013800d-0117-c4fb-9156-000003bf6570
> on database directory /export/home/tmp/os136789/Replication_common_Trunk/master/test
 
> Database Class Loader started - derby.database.classpath=''
> 2008-01-29 10:02:53.256 GMT Thread[DRDAConnThread_2,5,main] (XID = 419), (SESSIONID =
0), (DATABASE = test), (DRDAID = {1}), Cleanup action starting
> java.sql.SQLException: Could not establish a connection to the peer of the replicated
database 'null'.
> .
> .
> Cleanup action completed
> 2008-01-29 10:02:53.260 GMT Thread[DRDAConnThread_2,5,main] (DATABASE = test), (DRDAID
= {1}), Could not establish a connection to the peer of the replicated database 'null'.
> startMaster specyfying slavePort:
> CONNECT 'jdbc:derby://atum11:8888/test;startMaster=true;slaveHost=atum11;slavePort=8989';
> ERROR XRE04: DERBY SQL error: SQLCODE: -1, SQLSTATE: XRE04, SQLERRMC: nullXRE04
> master derby.log:
> 2008-01-29 10:03:38.201 GMT Thread[DRDAConnThread_2,5,main] (XID = 420), (SESSIONID =
1), (DATABASE = test), (DRDAID = {2}), Cleanup action starting
> java.sql.SQLException: Could not establish a connection to the peer of the replicated
database 'null'.
> .
> .
> Cleanup action completed
> 2008-01-29 10:03:38.205 GMT Thread[DRDAConnThread_2,5,main] (DATABASE = test), (DRDAID
= {2}), Could not establish a connection to the peer of the replicated database 'null'.
> Additional observation/comment:
> ----------------------------------------
> It would be helpful for debugging if slaveHost and slavePort were written in error messages
and into derby.log.

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