db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alan Burlison (JIRA)" <j...@apache.org>
Subject [jira] Issue Comment Edited: (DERBY-4299) Slave start fails with message that the database is already booted, even when it is not.
Date Tue, 14 Jul 2009 12:09:14 GMT

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

Alan Burlison edited comment on DERBY-4299 at 7/14/09 5:09 AM:
---------------------------------------------------------------

I tried setting the default connection mode to read only in my test database, and whilst the
startSlave worked, the startMaster didn't, failing with:

SQLCODE: -1, SQLSTATE: XRE22, SQLERRMC: opensolarisXRE22 [XRE22] 

And in the master log I see:

database Class Loader started - derby.database.classpath=''
Replication master role started for database 'opensolaris'.
2009-07-14 11:48:32.184 GMT Thread[DRDAConnThread_5,5,derby.daemons] (XID = 508), (SESSIONID
= 3), (DATABASE = opensolaris), (DRDAID = {11}), Cleanup action starting
java.sql.SQLException: Replication master has already been booted for database 'opensolaris'
:
:
Caused by: ERROR XRE22: Replication master has already been booted for database 'opensolaris'


This is different to the initial failure, when it was the startSlave that was failing.

If I disable derby.drda.securityMechanism = STRONG_PASSWORD_SUBSTITUTE_SECURITY, then both
the master and slave start OK.

      was (Author: alanbur):
    I tried setting the default connection mode to read only in my test database, and whilst
the startSlave worked, the startMaster didn't, failing with:

SQLCODE: -1, SQLSTATE: XRE22, SQLERRMC: opensolarisXRE22 [XRE22] 

And in the master log I see:

atabase Class Loader started - derby.database.classpath=''
Replication master role started for database 'opensolaris'.
2009-07-14 11:48:32.184 GMT Thread[DRDAConnThread_5,5,derby.daemons] (XID = 508), (SESSIONID
= 3), (DATABASE = opensolaris), (DRDAID = {11}), Cleanup action starting
java.sql.SQLException: Replication master has already been booted for database 'opensolaris'
:
:
Caused by: ERROR XRE22: Replication master has already been booted for database 'opensolaris'


This is different to the initial failure, when it was the startSlave that was failing.

If I disable derby.drda.securityMechanism = STRONG_PASSWORD_SUBSTITUTE_SECURITY, then both
the master and slave start OK.
  
> Slave start fails with message that the database is already booted, even when it is not.
> ----------------------------------------------------------------------------------------
>
>                 Key: DERBY-4299
>                 URL: https://issues.apache.org/jira/browse/DERBY-4299
>             Project: Derby
>          Issue Type: Bug
>          Components: Replication
>    Affects Versions: 10.5.1.1, 10.6.0.0
>         Environment: java version "1.6.0_13"
> Java(TM) SE Runtime Environment (build 1.6.0_13-b03)
> Java HotSpot(TM) Client VM (build 11.3-b02, mixed mode)
> SunOS opensolaris 5.11 snv_117 i86pc i386 i86pc Solaris
>            Reporter: Dag H. Wanvik
>         Attachments: assert.sh, auth.tar.bz2, reproscript, workingscript
>
>
> Seen by Alan Burlison, cf. http://mail-archives.apache.org/mod_mbox/db-derby-user/200907.mbox/ajax/%3c4A522D68.50401@sun.com%3e
> ij> connect 
> 'jdbc:derby://bleaklow/opensolaris;user=auth;password=CHANGEME;securityMechanism=8;startSlave=true';
> ERROR XRE09: DERBY SQL error: SQLCODE: -1, SQLSTATE: XRE09, SQLERRMC: 
> Cannot start replication slave mode for database 'opensolaris'. The 
> database has already been booted.
> I can reproduce it using Alan's database (thanks, Alan!). When running a debug build
of Derby, however, I hit an ASSERT:
> ASSERT FAILED Wrong LogInstant on log record (0,0) version real position (4,3304)
> 	at org.apache.derby.shared.common.sanity.SanityManager.THROWASSERT(SanityManager.java:162)
> at org.apache.derby.shared.common.sanity.SanityManager.THROWASSERT(SanityManager.java:147)
> 	at org.apache.derby.impl.store.raw.log.Scan.getNextRecordBackward(Scan.java:403)
> 	at org.apache.derby.impl.store.raw.log.Scan.getNextRecord(Scan.java:204)
> 	at org.apache.derby.impl.store.raw.log.FileLogger.undo(FileLogger.java:939)
> 	at org.apache.derby.impl.store.raw.xact.Xact.abort(Xact.java:949)
> 	at org.apache.derby.impl.store.raw.xact.Xact.destroy(Xact.java:1105)
> 	at org.apache.derby.impl.store.access.RAMTransaction.destroy(RAMTransaction.java:2030)
> 	at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.boot(DataDictionaryImpl.java:802)
> 	at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:2021)
> 	at org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:333)
> 	at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMonitor.java:573)
> 	at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Monitor.java:427)
> 	at org.apache.derby.impl.db.BasicDatabase.boot(BasicDatabase.java:214)
> 	at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:2021)
> 	at org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:333)
> 	at org.apache.derby.impl.services.monitor.BaseMonitor.bootService(BaseMonitor.java:1858)
> 	at org.apache.derby.impl.services.monitor.BaseMonitor.startProviderService(BaseMonitor.java:1724)
> 	at org.apache.derby.impl.services.monitor.BaseMonitor.findProviderAndStartService(BaseMonitor.java:1602)
> 	at org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentService(BaseMonitor.java:1021)
> 	at org.apache.derby.iapi.services.monitor.Monitor.startPersistentService(Monitor.java:550)
> 	at org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(EmbedConnection.java:2580)
> so there seems to be an issue with the log. It could be related to DERBY-3896. In Alan's
original repre he used client/Server mode, but I can reproduce the error with embedded more,
cf. the attached script.

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