Uploaded image for project: 'Derby'
  1. Derby
  2. DERBY-4299

Slave start fails with message that the database is already booted, even when it is not.

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Reopened
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 10.5.1.1, 10.6.1.0
    • Fix Version/s: None
    • Component/s: Network Server, Replication
    • 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
    • Urgency:
      Normal
    • Issue & fix info:
      Repro attached, Workaround attached
    • Bug behavior facts:
      Crash, Seen in production

      Description

      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.

        Attachments

        1. reproscript
          0.9 kB
          Dag H. Wanvik
        2. workingscript
          0.8 kB
          Dag H. Wanvik
        3. assert.sh
          0.5 kB
          Knut Anders Hatlen
        4. auth.tar.bz2
          49 kB
          Alan Burlison
        5. startSlave.sh
          0.7 kB
          Knut Anders Hatlen
        6. startMaster.sh
          0.7 kB
          Knut Anders Hatlen

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                dagw Dag H. Wanvik
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated: