db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mike Matrigali (JIRA)" <j...@apache.org>
Subject [jira] Updated: (DERBY-606) SYSCS_UTIL.SYSCS_INPLACE_COMPRESS_TABLE fails on (very) large tables
Date Tue, 14 Nov 2006 19:46:38 GMT
     [ http://issues.apache.org/jira/browse/DERBY-606?page=all ]

Mike Matrigali updated DERBY-606:

o my suggestion was to only change what this log record wrote, not all log records that used
compressed number.  If you are going to change the format of what is written, then it seems
simpler to just write the number uncompressed than to add an extra decoding.
Note "change" the format is not really allowed.  What you need to do is support the old log
and add a new log record which has the changed format.  For soft upgrade you need to always
the old log record.  For hard upgrade you need to write new format and be able to read both
old and new log
record, once you have hard upgraded you don't have to worry about older versions of the software
this unknown new log record.
o note if you choose a fix which in any way alters what is written, I think you basically
have to add a new log record
in case of hard upgrade (and bug will continue to exist in soft upgrade).  
You can save copying code by having the new log record extend the existing one and just update
getTypeFormatId(), readExternal(), writeExternal() routines.  This way soft upgrade can still
read/write the old
record.  Need some code to write the new vs. the old one in case of hard upgrade.  
o if you decide you want to look at runtime fix vs. log record fix let me know and maybe I
can give some pointers.

> 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
>         Attachments: A606Test.java
> 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