[EMAIL PROTECTED] wrote:
Kristian Waagan <[EMAIL PROTECTED]> writes:

Hi,

Work in the access layer revealed something I find a bit disturbing,
at least with the way the code looks today. In the constructor of
impl.store.access.btree.BTreeScanInfo:

        try
        {
            stat_treeHeight = scan.getHeight();
        }
        catch (Throwable t)
        {
            stat_treeHeight = -1;
        }

I didn't understand why Throwable was caught and ignored, so first I
tried to change it to StandardException. This caused the test
ddlTableLockMode to fail.  I looked at what was going on, and found
this to be thrown from the code above (code modified to print the
Throwable):

*** Start: ddlTableLockMode jdk1.5.0_11 2007-03-15 13:53:12 ***
48a49,52
org.apache.derby.shared.common.sanity.AssertFailure: ASSERT FAILED
ControlRow.Get() is being called on a closed container.
org.apache.derby.shared.common.sanity.AssertFailure: ASSERT FAILED
ControlRow.Get() is being called on a closed container.
org.apache.derby.shared.common.sanity.AssertFailure: ASSERT FAILED
ControlRow.Get() is being called on a closed container.
org.apache.derby.shared.common.sanity.AssertFailure: ASSERT FAILED
ControlRow.Get() is being called on a closed container.
Test Failed.
*** End:   ddlTableLockMode jdk1.5.0_11 2007-03-15 13:53:21 ***

Out of curiosity; what happens with an insane build?

Nothing I guess... This is the code as it exists today, so I assume it is behaving as planned. But I think it should be documented/modified, because the code caught my attention at once when I saw it.

I have not investigated where, or how frequently, the value of stat_treeHeight is begin used but I *suspect* it is mostly for statistics anyway.



--
Kristian


As I said, I find this a bit disturbing.

Absolutely.

Can anyone with knowledge of
this part of the code shed some light on this?

That would not be me, unfortunately


Reply via email to