[
https://issues.apache.org/jira/browse/DERBY-3911?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12639701#action_12639701
]
Dag H. Wanvik commented on DERBY-3911:
--------------------------------------
Looks right to me.
This links explains the mechanics of why the exception will be hidden, FYI:
http://www.jguru.com/faq/view.jsp?EID=288261 (it wasn't obvious to me)
> 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
> 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.