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

BTreeController.reclaim_deleted_rows() may hide exceptions

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 10.5.1.1
    • Fix Version/s: 10.5.1.1
    • Component/s: Store
    • Labels:
      None

      Description

      BTreeController.reclaim_deleted_rows() contains this piece of code:

      catch (java.lang.ClassCastException cce)

      { // because we give up the latch on the leaf before entering this // routine, the page might change from a leaf to branch. If that // happens this routine will get a ClassCastException, and we // just give up trying to reclaim space. }

      finally

      { if (controlRow != null) controlRow.release(); return(purged_at_least_one_row); }

      It intentionally hides ClassCastExceptions, but it also unintentionally hides all other exceptions because of the return statement in the finally clause.

      Some related discussions can be found in DERBY-3216 and DERBY-3905.

        Attachments

        1. derby-3911.diff
          0.5 kB
          Knut Anders Hatlen

          Activity

            People

            • Assignee:
              knutanders Knut Anders Hatlen
              Reporter:
              knutanders Knut Anders Hatlen
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: