Uploaded image for project: 'ActiveMQ Classic'
  1. ActiveMQ Classic
  2. AMQ-9547

KahaDB PageFile can call setLength() on the recovery file which always throws an exception

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 5.18.5, 6.1.3
    • 6.2.0, 5.18.6, 6.1.4
    • KahaDB
    • None

    Description

      There are 3 places in PageFile (part of KahaDB) that call setLength() in RecoverableRandomAccessFile. This method was changed in AMQ-5578 so that it always throws an exception when called. This method should just be removed entirely since it always throws an error and in the places where it is used we need to either stop calling it if we can or throw an exception if the length is unexpected.

      Currently when KahaDB tries to redo recovery updates, if the file length is encountered as 0 it will call this method which leads to throwing an exception. This causes the store to detect the error and rebuild the index. We should be able to just continue without calling this method and recover.

      Attachments

        Issue Links

          Activity

            People

              cshannon Christopher L. Shannon
              cshannon Christopher L. Shannon
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 20m
                  20m