[ 
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. 

Thanks 
-suresh



> 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
>         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

        

Reply via email to