[
https://issues.apache.org/jira/browse/DERBY-6096?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13593464#comment-13593464
]
Knut Anders Hatlen commented on DERBY-6096:
-------------------------------------------
You may have better luck with smaller LOBs. LONG_CLOB_LENGTH is 18000000, which
means the SQLClob objects inserted into BackingStoreHashtable aren't
materialized and don't take up that much space. Using a larger number of
smaller LOBs (so small that they don't overflow to another page) should
increase the memory footprint, as those LOBs will come out of store fully
materialized.
> DataTypeDescriptor.estimatedMemoryUsage() has no case for BLOB or CLOB so
> would underestimate memory usage for those types at zero
> -----------------------------------------------------------------------------------------------------------------------------------
>
> Key: DERBY-6096
> URL: https://issues.apache.org/jira/browse/DERBY-6096
> Project: Derby
> Issue Type: Bug
> Components: SQL
> Affects Versions: 10.1.3.1, 10.2.2.0, 10.3.3.0, 10.4.2.0, 10.5.3.0,
> 10.6.2.1, 10.7.1.1, 10.9.1.0, 10.10.0.0, 10.8.3.0
> Reporter: Kathey Marsden
>
> In discussion on derby-dev regarding how much memory is used for hash joins,
> Knut noted:
> I haven't verified, but I think HashJoinStrategy uses
> DataTypeDescriptor.estimatedMemoryUsage() to estimate how much memory
> the hash table will consume. That method has no case for BLOB or CLOB,
> so it looks as if it will return zero for LOB columns. If that's so, it
> will definitely overestimate how many rows fits in maxMemoryPerTable
> kilobytes if the rows contain LOBs.
> DataTypeDescriptor.estimatedMemoryUsage() should be updated to include BLOB
> and CLOB and we should try verify if this theory is correct with a
> reproduction.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira