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 Sun, 24 Feb 2008 23:25:14 GMT

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

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

There seems to be no satisfactory solution to unbooting a module.

Hence I am going ahead with the workaround suggested by me earlier.

Please find below the workaround implementation explained in more detail.

Implementation description
---------------------------

The properties object that is passed to the boot method can no longer
be used to initialize the MasterController startup parameters. This needs
to be moved to the startMaster method.

A successful startup should be recorded by a boolean variable (active).

Each of the methods (other than startMaster) in the MasterController that form the interface
to this module

* stopMaster
* startFailover

should check for the boolean variable active. If it is false they should throw an exception
stating that
the master module is not active.

active should be set to false in 

* stopMaster and 
* when startMaster fails.

A few observations
------------------

stopMaster is called from printStackAndStopMaster. printStackAndStopMaster is specifically
a method
that logs log shipper exceptions. So doing a logShipper.flushBuffer() in stopMaster does not
seem logical.
I will wait till later today to raise a separate JIRA for this. I do not want to fix this
issue as part of this JIRA.

A possible fix for the above would be to separate the flushBuffer and the stopMaster operations.

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