You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Kristian Waagan (JIRA)" <ji...@apache.org> on 2010/05/25 13:51:23 UTC

[jira] Commented: (DERBY-1560) When receiving EXTDTA object, the client should avoid keeping the entire LOB in memory for large LOBs

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

Kristian Waagan commented on DERBY-1560:
----------------------------------------

I propose that we close this issue, because I believe the issue went away when locators were introduced.

Note that some actions will result in the entire LOB being kept in memory, for instance executing Clob.getSubString(1, <length>) and Blob.getBytes(). This is a necessity, and is as designed.

> When receiving EXTDTA object, the client should avoid keeping the entire LOB in memory for large LOBs
> -----------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-1560
>                 URL: https://issues.apache.org/jira/browse/DERBY-1560
>             Project: Derby
>          Issue Type: Improvement
>          Components: Network Client
>    Affects Versions: 10.1.3.1
>            Reporter: Fernanda Pizzorno
>
> When a LOB is streamed from the Server to the Client, the Client reads all the data from the stream into a byte array. This can cause OutOfMemoryError if the LOB is large > than total memory in the VM.
> To avoid this problem, instead of reading the streamed data into a byte array, the Client could read the data into a stream which will keep the data in memory when possible and store the data on disk when there is not enough memory. This stream could be based on the implementation suggested in DERBY-1341.

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