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

Bryan Pendleton commented on DERBY-3219:
----------------------------------------

Thanks Knut Anders, that makes sense. So perhaps I should do something like:

  ((Runtime.getRuntime().totalMemory()/100) / 1000) * 1.2

to get the number of rows to load into the table, since my rows are each about 
1000
characters in length, and the 1.2 fudge should cause me to have slightly more 
rows
than will fit into the BackingStoreHashtable.

I'll give that a try, and see if it seems to make the test less sensitive to 
the heap size.



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