[ 
https://issues.apache.org/jira/browse/DERBY-3219?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12598643#action_12598643
 ] 

Knut Anders Hatlen commented on DERBY-3219:
-------------------------------------------

Hi Bryan,
I see the same numbers (more or less) as Thomas on my machine running Solaris 
Express.
What's interesting is that the heuristics try to prevent that the heap grows, 
so if you want to give your queries more memory in order to improve the sort 
performance, you should always specify both -Xms and -Xmx. Otherwise, if you 
only specify -Xmx, they won't use the extra memory.

> Group by query with many aggregate columns and case statements fails with: 
> ERROR XSDA7: Restore of a serializable or SQLData object of class , attempted 
> to read more data than was originally stored
> -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-3219
>                 URL: https://issues.apache.org/jira/browse/DERBY-3219
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 10.3.1.4
>            Reporter: Stan Bradbury
>            Assignee: Bryan Pendleton
>         Attachments: maxminPatch.diff, patchWithTest.diff, pivotView.zip, 
> repro.java, testWithMemControls.diff
>
>
> using the attached database (v10.3) - " select * from pivotview " fails with 
> the stack trace below.  A view (pivotview_ok) created on a subset of the 
> columns in pivotview executes fine.  Adding one column back into pivotview_ok 
> causes failures most of the time.  See attached for view definitions.
> 2007-11-21 00:58:49.421 GMT Thread[main,5,main] (XID = 2734422), (SESSIONID = 
> 0), (DATABASE = pivotview), (DRDAID = null), Failed Statement is: select * 
> from pivotview
> ERROR XSDA7: Restore of a serializable or SQLData object of class , attempted 
> to read more data than was originally stored
>       at org.apache.derby.iapi.error.StandardException.newException(Unknown 
> Source)
>       at 
> org.apache.derby.impl.store.raw.data.StreamFileContainer.fetchNext(Unknown 
> Source)
>       at 
> org.apache.derby.impl.store.raw.data.StreamFileContainerHandle.fetchNext(Unknown
>  Source)
>       at org.apache.derby.impl.store.access.sort.MergeScan.mergeARow(Unknown 
> Source)
>       at org.apache.derby.impl.store.access.sort.MergeScan.init(Unknown 
> Source)
>       at 
> org.apache.derby.impl.store.access.sort.MergeSort.openSortScan(Unknown Source)
>       at 
> org.apache.derby.impl.store.access.RAMTransaction.openSortScan(Unknown Source)
>       at 
> org.apache.derby.impl.sql.execute.GroupedAggregateResultSet.loadSorter(Unknown
>  Source)
>       at 
> org.apache.derby.impl.sql.execute.GroupedAggregateResultSet.openCore(Unknown 
> Source)
>       at 
> org.apache.derby.impl.sql.execute.ProjectRestrictResultSet.openCore(Unknown 
> Source)
>       at 
> org.apache.derby.impl.sql.execute.BasicNoPutResultSetImpl.open(Unknown Source)
>       at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown 
> Source)
>       at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown 
> Source)
>       at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source)
>       at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source)
>       at org.apache.derby.impl.tools.ij.ij.executeImmediate(Unknown Source)
>       at org.apache.derby.impl.tools.ij.utilMain.doCatch(Unknown Source)
>       at org.apache.derby.impl.tools.ij.utilMain.runScriptGuts(Unknown Source)
>       at org.apache.derby.impl.tools.ij.utilMain.go(Unknown Source)
>       at org.apache.derby.impl.tools.ij.Main.go(Unknown Source)
>       at org.apache.derby.impl.tools.ij.Main.mainCore(Unknown Source)
>       at org.apache.derby.impl.tools.ij.Main14.main(Unknown Source)
>       at org.apache.derby.tools.ij.main(Unknown Source)
> Caused by: java.io.EOFException
>       at java.io.DataInputStream.readBoolean(DataInputStream.java:248)
>       at 
> org.apache.derby.impl.sql.execute.MaxMinAggregator.readExternal(Unknown 
> Source)
>       at 
> org.apache.derby.iapi.services.io.FormatIdInputStream.readObject(Unknown 
> Source)
>       at org.apache.derby.iapi.types.UserType.readExternal(Unknown Source)
>       ... 22 more
> ============= begin nested exception, level (1) ===========
> java.io.EOFException
>       at java.io.DataInputStream.readBoolean(DataInputStream.java:248)
>       at 
> org.apache.derby.impl.sql.execute.MaxMinAggregator.readExternal(Unknown 
> Source)
>       at 
> org.apache.derby.iapi.services.io.FormatIdInputStream.readObject(Unknown 
> Source)
>       at org.apache.derby.iapi.types.UserType.readExternal(Unknown Source)
>       at 
> org.apache.derby.impl.store.raw.data.StreamFileContainer.fetchNext(Unknown 
> Source)
>       at 
> org.apache.derby.impl.store.raw.data.StreamFileContainerHandle.fetchNext(Unknown
>  Source)
>       at org.apache.derby.impl.store.access.sort.MergeScan.mergeARow(Unknown 
> Source)
>       at org.apache.derby.impl.store.access.sort.MergeScan.init(Unknown 
> Source)
>       at 
> org.apache.derby.impl.store.access.sort.MergeSort.openSortScan(Unknown Source)
>       at 
> org.apache.derby.impl.store.access.RAMTransaction.openSortScan(Unknown Source)
>       at 
> org.apache.derby.impl.sql.execute.GroupedAggregateResultSet.loadSorter(Unknown
>  Source)
>       at 
> org.apache.derby.impl.sql.execute.GroupedAggregateResultSet.openCore(Unknown 
> Source)
>       at 
> org.apache.derby.impl.sql.execute.ProjectRestrictResultSet.openCore(Unknown 
> Source)
>       at 
> org.apache.derby.impl.sql.execute.BasicNoPutResultSetImpl.open(Unknown Source)
>       at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown 
> Source)
>       at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown 
> Source)
>       at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source)
>       at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source)
>       at org.apache.derby.impl.tools.ij.ij.executeImmediate(Unknown Source)
>       at org.apache.derby.impl.tools.ij.utilMain.doCatch(Unknown Source)
>       at org.apache.derby.impl.tools.ij.utilMain.runScriptGuts(Unknown Source)
>       at org.apache.derby.impl.tools.ij.utilMain.go(Unknown Source)
>       at org.apache.derby.impl.tools.ij.Main.go(Unknown Source)
>       at org.apache.derby.impl.tools.ij.Main.mainCore(Unknown Source)
>       at org.apache.derby.impl.tools.ij.Main14.main(Unknown Source)
>       at org.apache.derby.tools.ij.main(Unknown Source)
> ============= end nested exception, level (1) ===========
> Cleanup action completed

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to