db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Knut Anders Hatlen (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DERBY-3911) BTreeController.reclaim_deleted_rows() may hide exceptions
Date Tue, 24 Mar 2009 07:45:50 GMT

    [ https://issues.apache.org/jira/browse/DERBY-3911?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12688600#action_12688600
] 

Knut Anders Hatlen commented on DERBY-3911:
-------------------------------------------

Note that there is one important difference between the issue logged here and what Kathey
constructed. The logged issue would actually hide any error completely and return successfully,
whereas the constructed example would still throw an exception and reveal that something is
wrong.

> BTreeController.reclaim_deleted_rows() may hide exceptions
> ----------------------------------------------------------
>
>                 Key: DERBY-3911
>                 URL: https://issues.apache.org/jira/browse/DERBY-3911
>             Project: Derby
>          Issue Type: Bug
>          Components: Store
>    Affects Versions: 10.5.0.0
>            Reporter: Knut Anders Hatlen
>            Assignee: Knut Anders Hatlen
>            Priority: Minor
>             Fix For: 10.5.0.0
>
>         Attachments: derby-3911.diff
>
>
> 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.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message