Derby
  1. Derby
  2. DERBY-4252

intermittent corruption./java.io.EOFException in RandomAccessFile.readInt() on boot after compress with background checkpoint

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Critical Critical
    • Resolution: Cannot Reproduce
    • Affects Version/s: 10.6.1.0
    • Fix Version/s: None
    • Component/s: Store
    • Environment:
    • Urgency:
      Normal
    • Issue & fix info:
      Repro attached
    • Bug behavior facts:
      Data corruption

      Description

      The attached reproduction reproBackgroundCheckpoint.zip occasionally results in an EOF exception on boot with IBM 1.6 (about 1 out of 200 runs) even after the fix for DERBY-4239. The program inserts into /deletes some data from a table and runs compress, and as a daemon thread that loops checkpoints. I have not seen it with the Sun JVM.

      Before the fix for DERBY-4239, this issue was much more frequent. Sometimes you would get the DERBY-4239 trace and sometimes this one. After the fix, this issue remains. Mike thought it looked like a different bug and asked that we file a separate issue.

      This is the trace:
      java.io.EOFException

      at java.io.RandomAccessFile.readInt(RandomAccessFile.java:739)

      at java.io.RandomAccessFile.readLong(RandomAccessFile.java:772)

      at org.apache.derby.impl.store.raw.log.Scan.getNextRecordForward(Unknown Source)

      at org.apache.derby.impl.store.raw.log.Scan.getNextRecord(Unknown Source)

      at org.apache.derby.impl.store.raw.log.FileLogger.redo(Unknown Source)

      at org.apache.derby.impl.store.raw.log.LogToFile.recover(Unknown Source)

      at org.apache.derby.impl.store.raw.RawStore.boot(Unknown Source)

      at org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown Source)

      at org.apache.derby.impl.services.monitor.TopService.bootModule(Unknown Source)

      at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(Unknown Source)

      at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Unknown Source)

      at org.apache.derby.impl.store.access.RAMAccessManager.boot(Unknown Source)

      at org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown Source)

      at org.apache.derby.impl.services.monitor.TopService.bootModule(Unknown Source)

      at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(Unknown Source)

      at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Unknown Source)

      at org.apache.derby.impl.db.BasicDatabase.bootStore(Unknown Source)

      at org.apache.derby.impl.db.BasicDatabase.boot(Unknown Source)

      at org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown Source)

      at org.apache.derby.impl.services.monitor.TopService.bootModule(Unknown Source)

      at org.apache.derby.impl.services.monitor.BaseMonitor.bootService(Unknown Source)

      at org.apache.derby.impl.services.monitor.BaseMonitor.startProviderService(Unknown Source)

      at org.apache.derby.impl.services.monitor.BaseMonitor.findProviderAndStartService(Unknown Source)

      at org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentService(Unknown Source)

      at org.apache.derby.iapi.services.monitor.Monitor.startPersistentService(Unknown Source)

      at org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(Unknown Source)

      at org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown Source)

      at org.apache.derby.jdbc.Driver40.getNewEmbedConnection(Unknown Source)

      at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)

      at org.apache.derby.jdbc.AutoloadedDriver.connect(Unknown Source)

      at java.sql.DriverManager.getConnection(DriverManager.java:316)

      at java.sql.DriverManager.getConnection(DriverManager.java:273)

      at CheckTables.main(CheckTables.java:8)

      To reproduce, compile the java programs and run reprobckchkpt.ksh. You may want to increase the number of iterations and let it run overnight to see the failure or back out the fix for DERBY-4239 to see it happen quicker.

      1. corrupt_database_with_logs.zip
        2.39 MB
        Kathey Marsden
      2. reproBackgroundCheckpoint.zip
        15 kB
        Kathey Marsden

        Issue Links

          Activity

          No work has yet been logged on this issue.

            People

            • Assignee:
              Unassigned
              Reporter:
              Kathey Marsden
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development