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

Mamta A. Satoor commented on DERBY-4537:
----------------------------------------

Yes, here is the stack trace


Statement is: update t1 set status = 1 where id = 1
java.lang.OutOfMemoryError
        at 
org.apache.derby.impl.store.raw.data.CachedPage.setPageArray(CachedPage.java:864)
        at 
org.apache.derby.impl.store.raw.data.CachedPage.readPage(CachedPage.java:665)
        at 
org.apache.derby.impl.store.raw.data.CachedPage.setIdentity(CachedPage.java:190)
        at 
org.apache.derby.impl.services.cache.ConcurrentCache.find(ConcurrentCache.java:295)
        at 
org.apache.derby.impl.store.raw.data.FileContainer.getUserPage(FileContainer.java:2431)
        at 
org.apache.derby.impl.store.raw.data.FileContainer.getNextHeadPage(FileContainer.java:2749)
        at 
org.apache.derby.impl.store.raw.data.BaseContainer.getNextPage(BaseContainer.java:516)
        at 
org.apache.derby.impl.store.raw.data.BaseContainerHandle.getNextPage(BaseContainerHandle.java:364)
        at 
org.apache.derby.impl.store.access.conglomerate.GenericScanController.positionAtNextPage(GenericScanController.java:499)
        at 
org.apache.derby.impl.store.access.conglomerate.GenericScanController.fetchRows(GenericScanController.java:827)
        at 
org.apache.derby.impl.store.access.heap.HeapScan.fetchNext(HeapScan.java:238)
        at 
org.apache.derby.impl.sql.execute.TableScanResultSet.getNextRowCore(TableScanResultSet.java:577)
        at 
org.apache.derby.impl.sql.execute.ProjectRestrictResultSet.getNextRowCore(ProjectRestrictResultSet.java:261)
        at 
org.apache.derby.impl.sql.execute.NormalizeResultSet.getNextRowCore(NormalizeResultSet.java:185)
        at 
org.apache.derby.impl.sql.execute.DMLWriteResultSet.getNextRowCore(DMLWriteResultSet.java:127)
        at 
org.apache.derby.impl.sql.execute.UpdateResultSet.collectAffectedRows(UpdateResultSet.java:571)
        at 
org.apache.derby.impl.sql.execute.UpdateResultSet.open(UpdateResultSet.java:254)
        at 
org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(GenericPreparedStatement.java:436)
        at 
org.apache.derby.impl.sql.GenericPreparedStatement.execute(GenericPreparedStatement.java:317)
        at 
org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java:1232)
        at 
org.apache.derby.impl.jdbc.EmbedStatement.execute(EmbedStatement.java:625)
        at 
org.apache.derby.impl.jdbc.EmbedStatement.execute(EmbedStatement.java:555)
        at org.apache.derby.impl.tools.ij.ij.executeImmediate(ij.java:329)
        at org.apache.derby.impl.tools.ij.utilMain.doCatch(utilMain.java:521)
        at 
org.apache.derby.impl.tools.ij.utilMain.runScriptGuts(utilMain.java:363)
        at org.apache.derby.impl.tools.ij.utilMain.go(utilMain.java:261)
        at org.apache.derby.impl.tools.ij.Main.go(Main.java:229)
        at org.apache.derby.impl.tools.ij.Main.mainCore(Main.java:184)
        at org.apache.derby.impl.tools.ij.Main.main(Main.java:75)
        at org.apache.derby.tools.ij.main(ij.java:59)


> Update on tables with blob columns streams blobs into memory even when the 
> blobs are not updated/accessed.
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-4537
>                 URL: https://issues.apache.org/jira/browse/DERBY-4537
>             Project: Derby
>          Issue Type: Improvement
>          Components: SQL
>    Affects Versions: 10.6.0.0
>            Reporter: Mamta A. Satoor
>            Priority: Minor
>         Attachments: derby4537Repro.java
>
>
> While investigating DERBY-1482, I wrote a simple program to see the behavior 
> of a simple update (without any triggers) of a table with blob columns. 
> The update is on a non-blob column of a table with blob volumns. 
> When this update is made with limited heap memory, Derby runs into OOM error. 
> I tried another table similar to earlier table but with no blob column. An 
> update on that table does not run into OOM when run with same limited heap 
> memory. 
> I would have expected the update to pass for table with blob column since we 
> are not referencing/updating the blob column. But it appears that we might be 
> streaming in blob column even though it is untouched by the update sql. 
> I wonder if working on this jira first will make the work for DERBY-1482 any 
> easier or better yet, will it make the problem with DERBY-1482 go away? Will 
> attach a reproducible program for this soon.

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