db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mayuresh Nirhali (JIRA)" <j...@apache.org>
Subject [jira] Updated: (DERBY-606) SYSCS_UTIL.SYSCS_INPLACE_COMPRESS_TABLE fails on (very) large tables
Date Mon, 04 Dec 2006 09:24:23 GMT
     [ http://issues.apache.org/jira/browse/DERBY-606?page=all ]

Mayuresh Nirhali updated DERBY-606:

    Attachment: derby606_impl-v5.diff

Thanks Suresh for catching that!

I have created new patches based on your feedback and they are attached.

Regarding the UpgradeTest  with 10400 rows, I believe it is good to test the soft and hard
upgrade when the edge case is hit. Hence I use the case almost as is from OnlineCompressTest.

This case is not only about large size table data but it happens when data stored  (in multiple
allocation pages) is deleted to an extent where the last allocation page is completely empty.
In this case, when the compress is called, the operation does not complete successfully because
the log record is not written due to the fact that newHighestPage is negative.

To simulate this, I created a table with data (for a particualr db schema) that will just
grow beyond the size that can be managed by 1 alloc page. Then deleted enough data to make
sure the last allocpage is empty. The combination of 10400 + the db schema is optimized for
minimum time. I could not get the other 2 db schemas in OnlineCompressTest to work for this
case, for a shorter duration.

This is a large patch and Comments on this new patch are most welcome.


> SYSCS_UTIL.SYSCS_INPLACE_COMPRESS_TABLE fails on (very) large tables
> --------------------------------------------------------------------
>                 Key: DERBY-606
>                 URL: http://issues.apache.org/jira/browse/DERBY-606
>             Project: Derby
>          Issue Type: Bug
>          Components: Store
>    Affects Versions:
>         Environment: Java 1.5.0_04 on Windows Server 2003 Web Edition
>            Reporter: Jeffrey Aguilera
>         Assigned To: Mayuresh Nirhali
>             Fix For:
>         Attachments: A606Test.java, derby606-v2.diff, derby606-v3.diff, derby606_impl-v4.diff,
derby606_impl-v5.diff, derby606_upgrade-v4.diff, derby606_upgrade-v5.diff, derby606_v1.diff
> SYSCS_UTIL.SYSCS_INPLACE_COMPRESS_TABLE fails with one of the following error messages
when applied to a very large table (>2GB):
> Log operation null encounters error writing itself out to the log stream, this could
be caused by an errant log operation or internal log buffer full due to excessively large
log operation. SQLSTATE: XJ001: Java exception: ': java.io.IOException'.
> or
> The exception 'java.lang.ArrayIndexOutOfBoundsException' was thrown while evaluating
an expression. SQLSTATE: XJ001: Java exception: ': java.lang.ArrayIndexOutOfBoundsException'.
> In either case, no entry is written to the console log or to derby.log.

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


View raw message