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


Seen by Alan Burlison, cf. 
http://mail-archives.apache.org/mod_mbox/db-derby-user/200907.mbox/ajax/%[email protected]%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.

Reply via email to