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

'...replication.buffer.LogBufferFullException' causes failover to fail w/ 'XRE07, SQLERRMC: Could not perform operation because the database is not in replication master mode.'

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 10.4.2.0, 10.5.1.1
    • 10.5.2.0, 10.6.1.0
    • Replication
    • None

    Description

      With the patch for DERBY-3709, derby-3709_p1-v2.diff.txt, I was able to provoke this error twice in 30 test runs on this platform (On another platform I saw none in 100 test runs.)

      I will upload the full test run log dir.

      "Summary":

      1) testReplication_Local_StateTest_part2(org.apache.derbyTesting.functionTests.tests.replicationTests.ReplicationRun_Local_StateTest_part2)junit.framework.ComparisonFailure: Unexpected SQL state. expected:<XRE[20]> but was:<XRE[07]>

      Master derby.log:
      -----------------------------------------
      ---- BEGIN REPLICATION ERROR MESSAGE (6/10/08 4:08 PM) ----
      Exception occurred during log shipping.
      org.apache.derby.impl.store.replication.buffer.LogBufferFullException
      at org.apache.derby.impl.store.replication.buffer.ReplicationLogBuffer.switchDirtyBuffer(ReplicationLogBuffer.java:357)
      at org.apache.derby.impl.store.replication.buffer.ReplicationLogBuffer.appendLog(ReplicationLogBuffer.java:146)
      at org.apache.derby.impl.store.replication.master.MasterController.appendLog(MasterController.java:428)
      at org.apache.derby.impl.store.raw.log.LogAccessFile.writeToLog(LogAccessFile.java:787)
      at org.apache.derby.impl.store.raw.log.LogAccessFile.flushDirtyBuffers(LogAccessFile.java:534)
      at org.apache.derby.impl.store.raw.log.LogAccessFile.flushLogAccessFile(LogAccessFile.java:574)
      at org.apache.derby.impl.store.raw.log.LogAccessFile.writeLogRecord(LogAccessFile.java:332)
      at org.apache.derby.impl.store.raw.log.LogToFile.appendLogRecord(LogToFile.java:3759)
      at org.apache.derby.impl.store.raw.log.FileLogger.logAndDo(FileLogger.java:370)
      at org.apache.derby.impl.store.raw.xact.Xact.logAndDo(Xact.java:1193)
      at org.apache.derby.impl.store.raw.data.LoggableActions.doAction(LoggableActions.java:221)
      at org.apache.derby.impl.store.raw.data.LoggableActions.actionUpdate(LoggableActions.java:85)
      at org.apache.derby.impl.store.raw.data.StoredPage.doUpdateAtSlot(StoredPage.java:8463)
      at org.apache.derby.impl.store.raw.data.StoredPage.updateOverflowDetails(StoredPage.java:8336)
      at org.apache.derby.impl.store.raw.data.StoredPage.updateOverflowDetails(StoredPage.java:8319)
      at org.apache.derby.impl.store.raw.data.BasePage.insertAllowOverflow(BasePage.java:808)
      at org.apache.derby.impl.store.raw.data.BasePage.insert(BasePage.java:653)
      at org.apache.derby.impl.store.access.heap.HeapController.doInsert(HeapController.java:307)
      at org.apache.derby.impl.store.access.heap.HeapController.insert(HeapController.java:575)
      at org.apache.derby.impl.sql.execute.RowChangerImpl.insertRow(RowChangerImpl.java:457)
      at org.apache.derby.impl.sql.execute.InsertResultSet.normalInsertCore(InsertResultSet.java:1011)
      at org.apache.derby.impl.sql.execute.InsertResultSet.open(InsertResultSet.java:487)
      at org.apache.derby.impl.sql.GenericPreparedStatement.execute(GenericPreparedStatement.java:384)
      at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java:1235)
      at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(EmbedPreparedStatement.java:1652)
      at org.apache.derby.impl.jdbc.EmbedPreparedStatement.execute(EmbedPreparedStatement.java:1307)
      at org.apache.derby.impl.drda.DRDAStatement.execute(DRDAStatement.java:672)
      at org.apache.derby.impl.drda.DRDAConnThread.parseEXCSQLSTTobjects(DRDAConnThread.java:4197)
      at org.apache.derby.impl.drda.DRDAConnThread.parseEXCSQLSTT(DRDAConnThread.java:4001)
      at org.apache.derby.impl.drda.DRDAConnThread.processCommands(DRDAConnThread.java:991)
      at org.apache.derby.impl.drda.DRDAConnThread.run(DRDAConnThread.java:278)

      -------------------- END REPLICATION ERROR MESSAGE ---------------------

      Slave derby.log:
      -------------------------------------------------------------------------------------------
      2008-06-10 14:05:56.408 GMT Thread[DRDAConnThread_3,5,main] (DATABASE = /export/home/tmp/os136789/testingInMyDerbySandbox/12/db_slave/wombat), (DRDAID =

      {2}

      ), Replication slave mode started successfully for database '/export/home/tmp/os136789/testingInMyDerbySandbox/12/db_slave/wombat'. Connection refused because the database is in replication slave mode.
      Replication slave role was stopped for database '/export/home/tmp/os136789/testingInMyDerbySandbox/12/db_slave/wombat'.

      ------------ BEGIN SHUTDOWN ERROR STACK -------------

      ERROR XSLA7: Cannot redo operation null in the log.
      at org.apache.derby.iapi.error.StandardException.newException(StandardException.java:296)
      at org.apache.derby.impl.store.raw.log.FileLogger.redo(FileLogger.java:1525)
      at org.apache.derby.impl.store.raw.log.LogToFile.recover(LogToFile.java:920)
      at org.apache.derby.impl.store.raw.RawStore.boot(RawStore.java:334)
      at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1999)
      at org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:291)
      at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMonitor.java:553)
      at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Monitor.java:427)
      at org.apache.derby.impl.store.access.RAMAccessManager.boot(RAMAccessManager.java:1019)
      at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1999)
      at org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:291)
      at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMonitor.java:553)
      at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Monitor.java:427)
      at org.apache.derby.impl.db.BasicDatabase.bootStore(BasicDatabase.java:780)
      at org.apache.derby.impl.db.BasicDatabase.boot(BasicDatabase.java:196)
      at org.apache.derby.impl.db.SlaveDatabase.bootBasicDatabase(SlaveDatabase.java:424)
      at org.apache.derby.impl.db.SlaveDatabase.access$000(SlaveDatabase.java:70)
      at org.apache.derby.impl.db.SlaveDatabase$SlaveDatabaseBootThread.run(SlaveDatabase.java:311)
      at java.lang.Thread.run(Thread.java:619)
      Caused by: ERROR 08006: Database '

      {0}' shutdown.
      at org.apache.derby.iapi.error.StandardException.newException(StandardException.java:276)
      at org.apache.derby.impl.store.raw.log.LogToFile.stopReplicationSlaveRole(LogToFile.java:5142)
      at org.apache.derby.impl.store.replication.slave.SlaveController.stopSlave(SlaveController.java:266)
      at org.apache.derby.impl.store.replication.slave.SlaveController.access$500(SlaveController.java:64)
      at org.apache.derby.impl.store.replication.slave.SlaveController$SlaveLogReceiverThread.run(SlaveController.java:531)
      ============= begin nested exception, level (1) ===========
      ERROR 08006: Database '{0}

      ' shutdown.
      at org.apache.derby.iapi.error.StandardException.newException(StandardException.java:276)
      at org.apache.derby.impl.store.raw.log.LogToFile.stopReplicationSlaveRole(LogToFile.java:5142)
      at org.apache.derby.impl.store.replication.slave.SlaveController.stopSlave(SlaveController.java:266)
      at org.apache.derby.impl.store.replication.slave.SlaveController.access$500(SlaveController.java:64)
      at org.apache.derby.impl.store.replication.slave.SlaveController$SlaveLogReceiverThread.run(SlaveController.java:531)
      ============= end nested exception, level (1) ===========

      ------------ END SHUTDOWN ERROR STACK -------------

      Attachments

        1. traceLogShipping.stat
          0.4 kB
          Dag H. Wanvik
        2. traceLogShipping.diff
          8 kB
          Dag H. Wanvik
        3. derby-3719-1.diff
          0.7 kB
          Dag H. Wanvik
        4. 12.tar.gz
          646 kB
          Ole Solberg

        Issue Links

          Activity

            People

              dagw Dag H. Wanvik
              olesolberg Ole Solberg
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: