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

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

>I don't think the problem is best solved by moving code from 
>MasterController#boot 
>to MC#startMaster, but rather to unboot the MasterFactory if startMaster fails 
>by 
>throwing an exception.

A module can be stopped. I guess that is what you meant by unbooted here. The
javadoc for the stop method says this

"The module may be found via a findModule() method until some time after
 this method returns. Therefore the factory must be prepared to reject requests
 to it once it has been stopped. In addition other modules may cache a reference
 to the module and make requests of it after it has been stopped, these requests
 should be rejected as well."

Basically you would not be clearing the startup parameters or making the 
findServiceModule
return a null or invalid value by stopping(unbooting). It is upto to the logic 
within the
MasterController to handle this.

I still do not think hostName and portNumber ought to be startup parameters for 
the MasterController
module.

I think they are parameters for the master start (replication start) 
functionality and ought to form
part of the paramters of the startMasterController method.

Suppose the other functionality provided stop, failover required specific 
paramters to be passed
we would need to pass them while calling these methods, what would happen if 
one of these parameters
had been wrong? I think the same case applies to startMaster as well. 

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

Reply via email to