[
https://issues.apache.org/jira/browse/HIVE-17344?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16135008#comment-16135008
]
Zoltan Haindrich commented on HIVE-17344:
-----------------------------------------
[~sershe] I think it is currently true that remaining == capacity...but the
underlying OrcTail resets the position to 0 when it reads explicitly...so if
the bb position is not at the beginning remainig() would could underestimate
the memory usage...so I think using capacity would be better...because in that
case it may only overestimate memory usage...and not under (but there is the
case when someone uses windows...)
I haven't seen any references where a bigger bb was sliced and passed to this
function...if that happens...the capacity of the sliced bb is the old
limit...which is ok...
I agree that currently capacity/remaining will do the same...but capacity would
be more explicit
> LocalCache element memory usage is not calculated properly.
> -----------------------------------------------------------
>
> Key: HIVE-17344
> URL: https://issues.apache.org/jira/browse/HIVE-17344
> Project: Hive
> Issue Type: Bug
> Reporter: Janos Gub
> Assignee: Janos Gub
> Attachments: HIVE-17344.patch
>
>
> Orc footer cache has a calculation of memory usage:
> {code:java}
> public int getMemoryUsage() {
> return bb.remaining() + 100; // 100 is for 2 longs, BB and java overheads
> (semi-arbitrary).
> }
> {code}
> ByteBuffer.remaining returns the remaining space in the bytebuffer, thus
> allowing this cache have elements MAXWEIGHT/100 of arbitrary size. I think
> the correct solution would be bb.capacity.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)