[ http://issues.apache.org/jira/browse/DERBY-606?page=all ]

Mayuresh Nirhali updated DERBY-606:
-----------------------------------

    Attachment: derby606_impl-v5.diff
                derby606_upgrade-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.

-Mayuresh


> 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: 10.1.1.0
>         Environment: Java 1.5.0_04 on Windows Server 2003 Web Edition
>            Reporter: Jeffrey Aguilera
>         Assigned To: Mayuresh Nirhali
>             Fix For: 10.3.0.0
>
>         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

        

Reply via email to