db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Suresh Thalamati (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DERBY-606) SYSCS_UTIL.SYSCS_INPLACE_COMPRESS_TABLE fails on (very) large tables
Date Thu, 16 Nov 2006 02:53:39 GMT
    [ http://issues.apache.org/jira/browse/DERBY-606?page=comments#action_12450263 ] 
Suresh Thalamati commented on DERBY-606:

I agree with you , it might be trickey to  check  db versions especially on  a readExpternal()
call.   It would be nice to avoid creating another class.  Hopefully some one on the list
some has  ideas to do that. 

If you would like to proceed with a new class approach.  It would be better to make the new
class handle 
the old behavior . i.e   create a new class  CompressSpacePageOperation_V10_2  that extends
the    CompressSpacePageOperation  and  change the format id for  the  CompressSpacePageOperation
 class to  a new one.   This way it is easier to read the code,  and remove the _v0 class
later   when upgrade  is not supported from old version. 

Looks like  assertion check is incorrect  in the case you mentioned,   please  fix it.   I
would  not call the assertion code under debug is  in-consistent  with insane-builds unless
 behaviour is different.  In debug builds it  is  normal to do some extra checks ,  they are
useful   to get some information   when stress tests fail after  a few days run. 
actionCompressSpaceOperation() in   LoggableAllocaction  has  RawTransaction   as argument.

It would be ok  to  expose the checkVersion method from logFactory  to RawTransaction,  Concrete
implementation of     RawTransaction   abstract  class ,   raw/xact/Xact.java  already  has
the logFactory information. 

I would expect   compress operation to  work even if there are  multiple  alloc pages, .may
 be there is bug some where ; please file a JIRA. 


> 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